From 6a60cfc17d092bf65c3a5ed8d1cb13eaf616fee2 Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Thu, 31 Oct 2024 01:47:35 -0400 Subject: Allow for tests where we don't know the actual list of tests This will be used for syzbot-repro.ktest, which will take as an argument a syzbot reproducer to download and run. Signed-off-by: Kent Overstreet --- lib/parse-test.sh | 16 +++++++++------- lib/testrunner | 2 +- tests/prelude.sh | 2 ++ 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/lib/parse-test.sh b/lib/parse-test.sh index 419cf57..42a476e 100644 --- a/lib/parse-test.sh +++ b/lib/parse-test.sh @@ -18,7 +18,7 @@ parse_test_deps() ktest_tests=$("$ktest_test" list-tests) ktest_tests=$(echo $ktest_tests) - if [[ -z $ktest_tests ]]; then + if [[ -z $ktest_tests ]] && ! $ktest_tests_unknown; then echo "No tests found" echo "TEST FAILED" exit 1 @@ -28,12 +28,14 @@ parse_test_deps() # Ensure specified tests exist: if [[ -n $ktest_testargs ]]; then - for t in $ktest_testargs; do - if ! echo "$ktest_tests"|grep -wq "$t"; then - echo "Test $t not found" - exit 1 - fi - done + if ! $ktest_tests_unknown; then + for t in $ktest_testargs; do + if ! echo "$ktest_tests"|grep -wq "$t"; then + echo "Test $t not found" + exit 1 + fi + done + fi ktest_tests="$ktest_testargs" fi diff --git a/lib/testrunner b/lib/testrunner index a7de937..fae4c85 100755 --- a/lib/testrunner +++ b/lib/testrunner @@ -156,7 +156,7 @@ do_reboot() echo -n "Kernel version: " uname -r -if [[ -z $ktest_tests ]]; then +if [[ -z $ktest_tests ]] && ! $ktest_tests_unknown; then echo "No tests found" echo "TEST FAILED" exit 1 diff --git a/tests/prelude.sh b/tests/prelude.sh index 22395df..b1bc878 100644 --- a/tests/prelude.sh +++ b/tests/prelude.sh @@ -35,6 +35,7 @@ if [[ ! -v ktest_cpus ]]; then ktest_qemu_append=() ktest_compiler=gcc ktest_allow_taint=false + ktest_tests_unknown=false BUILD_ON_HOST="" fi @@ -353,6 +354,7 @@ main() echo "ktest_kernel_config_require_soft=(${ktest_kernel_config_require_soft[@]})" echo "ktest_qemu_append=(${ktest_qemu_append[@]})" echo "ktest_allow_taint=$ktest_allow_taint" + echo "ktest_tests_unknown=$ktest_tests_unknown" ;; init) create_ktest_user -- cgit v1.2.3