summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2023-11-14 17:08:29 +0100
committerFlorian Westphal <fw@strlen.de>2023-11-15 13:12:06 +0100
commitf9a177eb32fd1dc6ae1d18f224b1cbc7f53c700f (patch)
tree575c67840de9f878c863ee891f7327fc30bb63fb
parent3d24b16b9ac132d26869953f54ef7c69f1c1d58f (diff)
tools: simplify error handling in "check-tree.sh" by adding msg_err()/msg_warn()
msg_err() also sets EXIT_CODE=, so we don't have to duplicate this. Also add msg_warn() to print non-fatal warnings. Will be used in the future. As "check-tree.sh" tests the consistency of the source tree, a warning only makes sense to point something out that really should be fixed, but is not yet. Signed-off-by: Thomas Haller <thaller@redhat.com> Signed-off-by: Florian Westphal <fw@strlen.de>
-rwxr-xr-xtools/check-tree.sh37
1 files changed, 20 insertions, 17 deletions
diff --git a/tools/check-tree.sh b/tools/check-tree.sh
index e3ddf8bd..b16d37c4 100755
--- a/tools/check-tree.sh
+++ b/tools/check-tree.sh
@@ -25,6 +25,15 @@ cd "$(dirname "$0")/.."
EXIT_CODE=0
+msg_err() {
+ printf "ERR: %s\n" "$*"
+ EXIT_CODE=1
+}
+
+msg_warn() {
+ printf "WARN: %s\n" "$*"
+}
+
##############################################################################
check_shell_dumps() {
@@ -37,8 +46,7 @@ check_shell_dumps() {
local nodump_name
if [ ! -d "$dir/dumps/" ] ; then
- echo "\"$TEST\" has no \"$dir/dumps/\" directory"
- EXIT_CODE=1
+ msg_err "\"$TEST\" has no \"$dir/dumps/\" directory"
return 0
fi
@@ -49,34 +57,31 @@ check_shell_dumps() {
[ -f "$nodump_name" ] && has_nodump=1
if [ "$has_nft" != 1 -a "$has_nodump" != 1 ] ; then
- echo "\"$TEST\" has no \"$dir/dumps/$base.{nft,nodump}\" file"
- EXIT_CODE=1
+ msg_err "\"$TEST\" has no \"$dir/dumps/$base.{nft,nodump}\" file"
elif [ "$has_nft" == 1 -a "$has_nodump" == 1 ] ; then
- echo "\"$TEST\" has both \"$dir/dumps/$base.{nft,nodump}\" files"
- EXIT_CODE=1
+ msg_err "\"$TEST\" has both \"$dir/dumps/$base.{nft,nodump}\" files"
elif [ "$has_nodump" == 1 -a -s "$nodump_name" ] ; then
- echo "\"$TEST\" has a non-empty \"$dir/dumps/$base.nodump\" file"
- EXIT_CODE=1
+ msg_err "\"$TEST\" has a non-empty \"$dir/dumps/$base.nodump\" file"
fi
}
SHELL_TESTS=( $(find "tests/shell/testcases/" -type f -executable | sort) )
if [ "${#SHELL_TESTS[@]}" -eq 0 ] ; then
- echo "No executable tests under \"tests/shell/testcases/\" found"
- EXIT_CODE=1
+ msg_err "No executable tests under \"tests/shell/testcases/\" found"
fi
for t in "${SHELL_TESTS[@]}" ; do
check_shell_dumps "$t"
- head -n 1 "$t" |grep -q '^#!/bin/sh' && echo "$t uses sh instead of bash" && EXIT_CODE=1
+ if head -n 1 "$t" |grep -q '^#!/bin/sh' ; then
+ msg_err "$t uses #!/bin/sh instead of /bin/bash"
+ fi
done
##############################################################################
SHELL_TESTS2=( $(./tests/shell/run-tests.sh --list-tests) )
if [ "${SHELL_TESTS[*]}" != "${SHELL_TESTS2[*]}" ] ; then
- echo "\`./tests/shell/run-tests.sh --list-tests\` does not list the expected tests"
- EXIT_CODE=1
+ msg_err "\`./tests/shell/run-tests.sh --list-tests\` does not list the expected tests"
fi
##############################################################################
@@ -85,8 +90,7 @@ F=( $(find tests/shell/testcases/ -type f | grep '^tests/shell/testcases/[^/]\+/
IGNORED_FILES=( tests/shell/testcases/bogons/nft-f/* )
for f in "${F[@]}" ; do
if ! array_contains "$f" "${SHELL_TESTS[@]}" "${IGNORED_FILES[@]}" ; then
- echo "Unexpected file \"$f\""
- EXIT_CODE=1
+ msg_err "Unexpected file \"$f\""
fi
done
@@ -97,8 +101,7 @@ FILES=( $(find "tests/shell/testcases/" -type f | sed -n 's#\(tests/shell/testca
for f in "${FILES[@]}" ; do
f2="$(echo "$f" | sed -n 's#\(tests/shell/testcases\(/.*\)\?/\)dumps/\(.*\)\.\(nft\|nodump\)$#\1\3#p')"
if ! array_contains "$f2" "${SHELL_TESTS[@]}" ; then
- echo "\"$f\" has no test \"$f2\""
- EXIT_CODE=1
+ msg_err "\"$f\" has no test \"$f2\""
fi
done