[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAM9d7ch4TQtwK_VxHuJCB=szyq8K0MurKgFjJAcNbw6dDVU8=g@mail.gmail.com>
Date: Wed, 24 Mar 2021 10:45:22 +0900
From: Namhyung Kim <namhyung@...nel.org>
To: Leo Yan <leo.yan@...aro.org>
Cc: Arnaldo Carvalho de Melo <acme@...nel.org>,
Jiri Olsa <jolsa@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Ian Rogers <irogers@...gle.com>,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] perf test: Change to use bash for daemon test
Hi Leo,
On Sat, Mar 20, 2021 at 7:46 PM Leo Yan <leo.yan@...aro.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.yan@...aro.org>
Acked-by: Namhyung Kim <namhyung@...nel.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
>
Powered by blists - more mailing lists