aboutgitcodebugslistschat
path: root/test/build/static_checkers.sh
diff options
context:
space:
mode:
Diffstat (limited to 'test/build/static_checkers.sh')
-rwxr-xr-xtest/build/static_checkers.sh24
1 files changed, 18 insertions, 6 deletions
diff --git a/test/build/static_checkers.sh b/test/build/static_checkers.sh
index 228b99a..96679fb 100755
--- a/test/build/static_checkers.sh
+++ b/test/build/static_checkers.sh
@@ -13,18 +13,30 @@
# Copyright Red Hat
# Author: David Gibson <david@gibson.dropbear.id.au>
-. $(dirname $0)/../exeter/sh/exeter.sh
+. $(dirname ${0})/../exeter/sh/exeter.sh
-exeter_register cppcheck make -C .. cppcheck
+# do_check() - Run static checker as a test if the binary is available
+# $1: Static checker (uased as both executable name and make target)
+# $@: Any additional arguments required to make
+do_check() {
+ checker="${1}"
+ shift
+ if ! which "${checker}" >/dev/null 2>/dev/null; then
+ exeter_skip "${checker} not available"
+ fi
+ make "${@}" "${checker}"
+}
+
+exeter_register cppcheck do_check cppcheck -C ..
exeter_set_description cppcheck "passt sources pass cppcheck"
-exeter_register clang_tidy make -C .. clang-tidy
+exeter_register clang_tidy do_check clang-tidy -C ..
exeter_set_description clang_tidy "passt sources pass clang-tidy"
-exeter_register flake8 make flake8
+exeter_register flake8 do_check flake8
exeter_set_description flake8 "passt tests in Python pass flake8"
-exeter_register mypy make mypy
+exeter_register mypy do_check mypy
exeter_set_description mypy "passt tests in Python pass mypy --strict"
-exeter_main "$@"
+exeter_main "${@}"