aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tools/testing/selftests/kselftest
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2019-04-24 16:12:32 -0700
committerShuah Khan <skhan@linuxfoundation.org>2019-04-25 13:14:38 -0600
commitbf66078235ca27062f5924ed6901f40becc4a1a4 (patch)
treee3f63a723fba72eeb66cc8f17cb56bb6e56f47f1 /tools/testing/selftests/kselftest
parentselftests: Use runner.sh for emit targets (diff)
downloadwireguard-linux-bf66078235ca27062f5924ed6901f40becc4a1a4.tar.xz
wireguard-linux-bf66078235ca27062f5924ed6901f40becc4a1a4.zip
selftests: Extract logic for multiple test runs
This moves the logic for running multiple tests into a single "run_many" function of runner.sh. Both "run_tests" and "emit_tests" are modified to use it. Summary handling is now controlled by the "per_test_logging" shell flag. Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Diffstat (limited to 'tools/testing/selftests/kselftest')
-rw-r--r--tools/testing/selftests/kselftest/runner.sh25
1 files changed, 22 insertions, 3 deletions
diff --git a/tools/testing/selftests/kselftest/runner.sh b/tools/testing/selftests/kselftest/runner.sh
index e1117d703887..f12b0a631273 100644
--- a/tools/testing/selftests/kselftest/runner.sh
+++ b/tools/testing/selftests/kselftest/runner.sh
@@ -2,17 +2,20 @@
# SPDX-License-Identifier: GPL-2.0
#
# Runs a set of tests in a given subdirectory.
+export KSFT_TAP_LEVEL=1
export skip_rc=4
export logfile=/dev/stdout
+export per_test_logging=
run_one()
{
- TEST="$1"
- NUM="$2"
+ DIR="$1"
+ TEST="$2"
+ NUM="$3"
BASENAME_TEST=$(basename $TEST)
- TEST_HDR_MSG="selftests: "`basename $PWD`:" $BASENAME_TEST"
+ TEST_HDR_MSG="selftests: $DIR: $BASENAME_TEST"
echo "$TEST_HDR_MSG"
echo "========================================"
if [ ! -x "$TEST" ]; then
@@ -30,3 +33,19 @@ run_one()
cd - >/dev/null
fi
}
+
+run_many()
+{
+ echo "TAP version 13"
+ DIR=$(basename "$PWD")
+ test_num=0
+ for TEST in "$@"; do
+ BASENAME_TEST=$(basename $TEST)
+ test_num=$(( test_num + 1 ))
+ if [ -n "$per_test_logging" ]; then
+ logfile="/tmp/$BASENAME_TEST"
+ cat /dev/null > "$logfile"
+ fi
+ run_one "$DIR" "$TEST" "$test_num"
+ done
+}