selftests: support interpreted scripts with ksft_runner.sh
Support testcases that are themselves not executable, but need an
interpreter to run them.
If a test file is not executable, but an executable file
ksft_runner.sh exists in the TARGET dir, kselftest will run
./ksft_runner.sh ./$BASENAME_TEST
Packetdrill may add hundreds of packetdrill scripts for testing. These
scripts must be passed to the packetdrill process.
Have kselftest run each test directly, as it already solves common
runner requirements like parallel execution and isolation (netns).
A previous RFC added a wrapper in between, which would have to
reimplement such functionality.
Link: https://lore.kernel.org/netdev/66d4d97a4cac_3df182941a@willemb.c.googlers.com.notmuch/T/
Signed-off-by: Willem de Bruijn <willemb@google.com>
Link: https://patch.msgid.link/20240905231653.2427327-2-willemdebruijn.kernel@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
bcd138b179
commit
dbd61921a6
@@ -111,8 +111,11 @@ run_one()
|
||||
stdbuf="/usr/bin/stdbuf --output=L "
|
||||
fi
|
||||
eval kselftest_cmd_args="\$${kselftest_cmd_args_ref:-}"
|
||||
cmd="$stdbuf ./$BASENAME_TEST $kselftest_cmd_args"
|
||||
if [ ! -x "$TEST" ]; then
|
||||
if [ -x "$TEST" ]; then
|
||||
cmd="$stdbuf ./$BASENAME_TEST $kselftest_cmd_args"
|
||||
elif [ -x "./ksft_runner.sh" ]; then
|
||||
cmd="$stdbuf ./ksft_runner.sh ./$BASENAME_TEST"
|
||||
else
|
||||
echo "# Warning: file $TEST is not executable"
|
||||
|
||||
if [ $(head -n 1 "$TEST" | cut -c -2) = "#!" ]
|
||||
|
||||
Reference in New Issue
Block a user