Hi Leo, On Sat, Mar 20, 2021 at 7:46 PM Leo Yan <leo....@linaro.org> wrote: > > When executed the daemon test on Arm64 and x86 with Debian (Buster) > distro, both skip the test case with the log: > > # ./perf test -v 76 > 76: daemon operations : > --- start --- > test child forked, pid 11687 > test daemon list > trap: SIGINT: bad trap > ./tests/shell/daemon.sh: 173: local: cpu-clock: bad variable name > test child finished with -2 > ---- end ---- > daemon operations: Skip > > So the error happens for the variable expansion when use local variable > in the shell script. Since Debian Buster uses dash but not bash as > non-interactive shell, when execute the daemon testing, it hits a > known issue for dash which was reported [1]. > > To resolve this issue, one option is to add double quotes for all local > variables assignment, so need to change the code from: > > local line=`perf daemon --config ${config} -x: | head -2 | tail -1` > > ... to: > > local line="`perf daemon --config ${config} -x: | head -2 | tail -1`" > > But the testing script has bunch of local variables, this leads to big > changes for whole script. > > On the other hand, the testing script asks to use the "local" feature > which is bash-specific, so this patch explicitly uses "#!/bin/bash" to > ensure running the script with bash. > > After: > > # ./perf test -v 76 > 76: daemon operations : > --- start --- > test child forked, pid 11329 > test daemon list > test daemon reconfig > test daemon stop > test daemon signal > signal 12 sent to session 'test [11596]' > signal 12 sent to session 'test [11596]' > test daemon ping > test daemon lock > test child finished with 0 > ---- end ---- > daemon operations: Ok > > [1] https://bugs.launchpad.net/ubuntu/+source/dash/+bug/139097 > > Fixes: 2291bb915b55 ("perf tests: Add daemon 'list' command test") > Signed-off-by: Leo Yan <leo....@linaro.org>
Acked-by: Namhyung Kim <namhy...@kernel.org> Thanks, Namhyung > --- > tools/perf/tests/shell/daemon.sh | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/perf/tests/shell/daemon.sh > b/tools/perf/tests/shell/daemon.sh > index ee4a30ca3f57..45fc24af5b07 100755 > --- a/tools/perf/tests/shell/daemon.sh > +++ b/tools/perf/tests/shell/daemon.sh > @@ -1,4 +1,4 @@ > -#!/bin/sh > +#!/bin/bash > # daemon operations > # SPDX-License-Identifier: GPL-2.0 > > -- > 2.25.1 >