summaryrefslogtreecommitdiffstats
path: root/ctdb/tests/UNIT/shellcheck/scripts/local.sh
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--ctdb/tests/UNIT/shellcheck/scripts/local.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/ctdb/tests/UNIT/shellcheck/scripts/local.sh b/ctdb/tests/UNIT/shellcheck/scripts/local.sh
new file mode 100644
index 0000000..07e72c3
--- /dev/null
+++ b/ctdb/tests/UNIT/shellcheck/scripts/local.sh
@@ -0,0 +1,33 @@
+# Hey Emacs, this is a -*- shell-script -*- !!! :-)
+
+. "${TEST_SCRIPTS_DIR}/script_install_paths.sh"
+
+define_test ()
+{
+ _f=$(basename "$0" ".sh")
+
+ printf "%-28s - %s\n" "$_f" "$1"
+}
+shellcheck_test ()
+{
+ ok_null
+ if type shellcheck >/dev/null 2>&1 ; then
+ # Skip some recent checks:
+ #
+ # SC1090: Can't follow non-constant source. Use a
+ # directive to specify location.
+ # SC1091: Not following: FILE was not specified as
+ # input (see shellcheck -x).
+ # - Shellcheck doesn't handle our includes
+ # very well. Adding directives to handle
+ # include for both in-tree and installed
+ # cases just isn't going to be possible.
+ # SC2162: read without -r will mangle backslashes.
+ # - We never read things with backslashes,
+ # unnecessary churn.
+ _excludes="SC1090,SC1091,SC2162"
+ unit_test shellcheck --exclude="$_excludes" "$@"
+ else
+ ctdb_test_skip "shellcheck not installed"
+ fi
+}