Skip to content

Commit fcfc257

Browse files
rbmarliererostedt
authored andcommitted
ktest: Run commands through list-form shell open
run_command() currently uses string-form open(): open(CMD, "$command 2>&1 |") That delegates parsing to the shell but also mixes the stderr redirection into the command string. Switch to list-form open() with an explicit sh -c wrapper so shell syntax errors are captured in the same output stream as command output. Otherwise, important errors can not be retrieved from the ktest LOG_FILE. Cc: John Hawley <warthog9@eaglescrag.net> Cc: Andrea Righi <arighi@nvidia.com> Cc: Marcos Paulo de Souza <mpdesouza@suse.com> Cc: Matthieu Baerts <matttbe@kernel.org> Cc: Fernando Fernandez Mancera <fmancera@suse.de> Cc: Pedro Falcato <pfalcato@suse.de> Link: https://patch.msgid.link/20260307-ktest-fixes-v1-5-565d412f4925@suse.com Signed-off-by: Ricardo B. Marlière <rbm@suse.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
1 parent a2de57a commit fcfc257

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

tools/testing/ktest/ktest.pl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1921,7 +1921,10 @@ sub run_command {
19211921
doprint("$command ... ");
19221922
$start_time = time;
19231923

1924-
$pid = open(CMD, "$command 2>&1 |") or
1924+
$pid = open(CMD, "-|",
1925+
"sh", "-c",
1926+
'command=$1; shift; exec 2>&1; eval "$command"',
1927+
"sh", $command) or
19251928
(fail "unable to exec $command" and return 0);
19261929

19271930
if (defined($opt{"LOG_FILE"})) {

0 commit comments

Comments
 (0)