[PATCH] selftests: runner.sh: avoid overriding kselftest_cmd_args with empty variable
From: QianhengPeng
Date: Tue Jul 14 2026 - 02:43:26 EST
Normally the value of kselftest_cmd_args can be read from settings file,
but it will be overridden by KSELFTEST_TEST_KMOD_SH_ARGS which can be
empty if user did not give it a real value.So it should be better to
check if KSELFTEST_TEST_KMOD_SH_ARGS is emty before referring its
value to kselftest_cmd_args.
Signed-off-by: QianhengPeng <pengqh1@xxxxxxxxxxxxxxx>
---
tools/testing/selftests/kselftest/runner.sh | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/tools/testing/selftests/kselftest/runner.sh b/tools/testing/selftests/kselftest/runner.sh
index 311811d..a99147a 100644
--- a/tools/testing/selftests/kselftest/runner.sh
+++ b/tools/testing/selftests/kselftest/runner.sh
@@ -103,6 +103,15 @@ run_one()
ktap_print_msg "timeout set to $kselftest_timeout" >> "$logfile"
fi
+ # Exported environment variable overrides the settings file
+ eval kselftest_eval_cmd_args="\$${kselftest_cmd_args_ref:-}"
+ if [ -n "$kselftest_eval_cmd_args" ]; then
+ kselftest_cmd_args=$kselftest_eval_cmd_args
+ ktap_print_msg "overriding cmd_args to $kselftest_cmd_args" >> "$logfile"
+ elif [ -n "$kselftest_cmd_args" ]; then
+ ktap_print_msg "cmd_args set to $kselftest_cmd_args" >> "$logfile"
+ fi
+
TEST_HDR_MSG="selftests: $DIR: $BASENAME_TEST"
echo "# $TEST_HDR_MSG"
if [ ! -e "$TEST" ]; then
@@ -113,7 +122,6 @@ run_one()
if [ -x /usr/bin/stdbuf ]; then
stdbuf="/usr/bin/stdbuf --output=L "
fi
- eval kselftest_cmd_args="\$${kselftest_cmd_args_ref:-}"
if [ -x "$TEST" ]; then
cmd="$stdbuf ./$BASENAME_TEST $kselftest_cmd_args"
elif [ -x "./ksft_runner.sh" ]; then
--
1.8.3.1