mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] selftests/kselftest/runner.sh: Add optional command parameters in settings
@ 2021-12-02 14:20 Cristian Marussi
  2021-12-02 21:18 ` Kees Cook
  2021-12-13  5:20 ` [selftests/kselftest/runner.sh] 3226b4a464: kernel-selftests.cpu-hotplug.cpu-on-off-test.sh.fail kernel test robot
  0 siblings, 2 replies; 5+ messages in thread
From: Cristian Marussi @ 2021-12-02 14:20 UTC (permalink / raw)
  To: linux-kselftest, linux-kernel; +Cc: sjpark, keescook, shuah, Cristian Marussi

Some testcases allow for optional commandline parameters but as of now
there is now way to provide such arguments to the runner script.

Add support to the per-test-directory "settings" file to provide such
optional arguments; two new optional fields can now be defined in
"settings":

 - args="<options>": general arguments common to all testcase commands in
   the test directory

 - <BASENAME_TEST>_args="<options>": custom arguments specific to only one
   specific testcase command

Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
---
Used to configure the use of a specific rtc device on CI systems with:
 tools/testing/selftests/rtc/settings:
   timeout=90
   rtctest_args="/dev/rtc1"
---
 tools/testing/selftests/kselftest/runner.sh | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/kselftest/runner.sh b/tools/testing/selftests/kselftest/runner.sh
index a9ba782d8ca0..f877a8571927 100644
--- a/tools/testing/selftests/kselftest/runner.sh
+++ b/tools/testing/selftests/kselftest/runner.sh
@@ -49,6 +49,15 @@ run_one()
 
 	# Reset any "settings"-file variables.
 	export kselftest_timeout="$kselftest_default_timeout"
+
+	# Optional arguments for any command, possibly defined in settings
+	# as args="<options>"
+	kselftest_args=""
+
+	# Optional arguments for this command, possibly defined in settings
+	# as <$BASENAME_TEST>_args="<options>"
+	kselftest_cmd_args_ref="kselftest_${BASENAME_TEST}_args"
+
 	# Load per-test-directory kselftest "settings" file.
 	settings="$BASE_DIR/$DIR/settings"
 	if [ -r "$settings" ] ; then
@@ -69,7 +78,8 @@ run_one()
 		echo "# Warning: file $TEST is missing!"
 		echo "not ok $test_num $TEST_HDR_MSG"
 	else
-		cmd="./$BASENAME_TEST"
+		eval kselftest_cmd_args="\$$kselftest_cmd_args_ref"
+		cmd="./$BASENAME_TEST $kselftest_cmd_args $kselftest_args"
 		if [ ! -x "$TEST" ]; then
 			echo "# Warning: file $TEST is not executable"
 
-- 
2.17.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-12-15  9:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-02 14:20 [PATCH] selftests/kselftest/runner.sh: Add optional command parameters in settings Cristian Marussi
2021-12-02 21:18 ` Kees Cook
2021-12-03 19:12   ` Cristian Marussi
2021-12-13  5:20 ` [selftests/kselftest/runner.sh] 3226b4a464: kernel-selftests.cpu-hotplug.cpu-on-off-test.sh.fail kernel test robot
2021-12-15  9:59   ` Cristian Marussi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®