From: Thomas Haller Date: Wed, 6 Sep 2023 11:52:06 +0000 (+0200) Subject: tests/shell: check test names before start and support directories X-Git-Tag: v1.0.9~143 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=efca71b22f9e4b51ea5620eeeab84e52d3410f38;p=thirdparty%2Fnftables.git tests/shell: check test names before start and support directories Check for valid test names early. That's useful because we treat any unrecognized options as test names. We should detect a mistake early. While at it, also support specifying directory names instead of executable files. Signed-off-by: Thomas Haller Signed-off-by: Florian Westphal --- diff --git a/tests/shell/run-tests.sh b/tests/shell/run-tests.sh index 5f526dd8..34c3b324 100755 --- a/tests/shell/run-tests.sh +++ b/tests/shell/run-tests.sh @@ -109,6 +109,18 @@ if [ "${#TESTS[@]}" -eq 0 ] ; then test "${#TESTS[@]}" -gt 0 || msg_error "Could not find tests" fi +TESTSOLD=( "${TESTS[@]}" ) +TESTS=() +for t in "${TESTSOLD[@]}" ; do + if [ -f "$t" -a -x "$t" ] ; then + TESTS+=( "$t" ) + elif [ -d "$t" ] ; then + TESTS+=( $(find_tests "$t") ) + else + msg_error "Unknown test \"$t\"" + fi +done + if [ "$DO_LIST_TESTS" = y ] ; then printf '%s\n' "${TESTS[@]}" exit 0