The top level listing control of which tests to run is in test/run, however it uses the test() function which runs an entire directory of test files, filtered by some criteria. This makes it awkward to narrow down to a subset of tests when debugging a specific failure. To make this easier, have test() take an explicit list of test files to run, and have the caller in test/run handle the directory traversal. The construct we use for this is pretty awkward to handle the fact that we're in the source tree root directory rather than test/ at this point in test/run. Later cleanups will improve that. Signed-off-by: David Gibson <david(a)gibson.dropbear.id.au> --- test/lib/test | 4 ++-- test/run | 48 ++++++++++++++++++++++++------------------------ 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/test/lib/test b/test/lib/test index ae42864..12f2588 100755 --- a/test/lib/test +++ b/test/lib/test @@ -415,12 +415,12 @@ test_one() { } # test() - Build list of tests to run, in order, then issue test_one() -# $1: Name of directory containing set of test files, relative to test/ +# $@: Test files to run, relative to test/ test() { __list= cd test - for __f in "${1}"/*; do + for __f; do __type="$(file -b --mime-type ${__f})" if [ "${__type}" = "text/x-shellscript" ]; then __list="$(list_add "${__list}" "${__f}")" diff --git a/test/run b/test/run index d9e5107..342d99e 100755 --- a/test/run +++ b/test/run @@ -60,43 +60,43 @@ run() { [ ${CI} -eq 1 ] && video_start ci setup build - test build - test distro + test $(cd test && echo build/*) + test $(cd test && echo distro/*) setup pasta - test ndp - test dhcp - test tcp - test udp + test $(cd test && echo ndp/*) + test $(cd test && echo dhcp/*) + test $(cd test && echo tcp/*) + test $(cd test && echo udp/*) teardown pasta setup passt - test ndp - test dhcp - test tcp - test udp - test valgrind + test $(cd test && echo ndp/*) + test $(cd test && echo dhcp/*) + test $(cd test && echo tcp/*) + test $(cd test && echo udp/*) + test $(cd test && echo valgrind/*) teardown passt VALGRIND=1 setup passt_in_ns - test ndp - test dhcp - test icmp - test tcp - test udp - test valgrind + test $(cd test && echo ndp/*) + test $(cd test && echo dhcp/*) + test $(cd test && echo icmp/*) + test $(cd test && echo tcp/*) + test $(cd test && echo udp/*) + test $(cd test && echo valgrind/*) teardown passt_in_ns VALGRIND=0 setup passt_in_ns - test ndp - test dhcp - test perf + test $(cd test && echo ndp/*) + test $(cd test && echo dhcp/*) + test $(cd test && echo perf/*) teardown passt_in_ns setup two_guests - test two_guests + test $(cd test && echo two_guests/*) teardown two_guests perf_finish @@ -125,21 +125,21 @@ demo() { layout_demo_passt video_start demo_passt MODE=passt - test demo + test $(cd test && echo demo/*) video_stop teardown demo_passt layout_demo_pasta video_start demo_pasta MODE=pasta - test demo + test $(cd test && echo demo/*) video_stop teardown demo_pasta layout_demo_podman video_start demo_podman MODE=podman - test demo + test $(cd test && echo demo/*) video_stop teardown_demo_podman -- 2.36.1