linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] perf/tests: Fix test case 83 on s390
@ 2022-07-20 12:34 Thomas Richter
       [not found] ` <CAP-5=fWeUh2hyGAqc4XidJZ7X06f4=MojyQwuOtbL3cs3u+T=w@mail.gmail.com>
  0 siblings, 1 reply; 2+ messages in thread
From: Thomas Richter @ 2022-07-20 12:34 UTC (permalink / raw)
  To: linux-kernel, linux-perf-users, acme
  Cc: svens, gor, sumanthk, hca, Thomas Richter

Perf test case 83: perf stat CSV output linter might fail
on s390.
The reason for this is the output of the command

 ./perf stat -x, -A -a --no-merge true

which depends on a .config file setting. When CONFIG_SCHED_TOPOLOGY
is set, the output of above perf command is

   CPU0,1.50,msec,cpu-clock,1502781,100.00,1.052,CPUs utilized

When CONFIG_SCHED_TOPOLOGY is *NOT* set the output of above perf
command is

   0.95,msec,cpu-clock,949800,100.00,1.060,CPUs utilized

Fix the test case to accept both output formats.

Output before:
 # perf test 83
 83: perf stat CSV output linter       : FAILED!
 #

Output after:
 # ./perf test 83
 83: perf stat CSV output linter       : Ok
 #

Fixes: ec906102e5b7 ("perf test: Fix "perf stat CSV output linter" test on s390")

Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
Acked-by: Sumanth Korikkar <sumanthk@linux.ibm.com>
---
 tools/perf/tests/shell/stat+csv_output.sh | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/tools/perf/tests/shell/stat+csv_output.sh b/tools/perf/tests/shell/stat+csv_output.sh
index 38c26f3ef4c1..eb5196f58190 100755
--- a/tools/perf/tests/shell/stat+csv_output.sh
+++ b/tools/perf/tests/shell/stat+csv_output.sh
@@ -8,7 +8,8 @@ set -e
 
 function commachecker()
 {
-	local -i cnt=0 exp=0
+	local -i cnt=0
+	local exp=0
 
 	case "$1"
 	in "--no-args")		exp=6
@@ -17,7 +18,7 @@ function commachecker()
 	;; "--interval")	exp=7
 	;; "--per-thread")	exp=7
 	;; "--system-wide-no-aggr")	exp=7
-				[ $(uname -m) = "s390x" ] && exp=6
+				[ $(uname -m) = "s390x" ] && exp='^[6-7]$'
 	;; "--per-core")	exp=8
 	;; "--per-socket")	exp=8
 	;; "--per-node")	exp=8
@@ -34,7 +35,7 @@ function commachecker()
 		x=$(echo $line | tr -d -c ',')
 		cnt="${#x}"
 		# echo $line $cnt
-		[ "$cnt" -ne "$exp" ] && {
+		[[ ! "$cnt" =~ $exp ]] && {
 			echo "wrong number of fields. expected $exp in $line" 1>&2
 			exit 1;
 		}
-- 
2.36.1


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

* Re: [PATCH] perf/tests: Fix test case 83 on s390
       [not found] ` <CAP-5=fWeUh2hyGAqc4XidJZ7X06f4=MojyQwuOtbL3cs3u+T=w@mail.gmail.com>
@ 2022-07-20 16:13   ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 2+ messages in thread
From: Arnaldo Carvalho de Melo @ 2022-07-20 16:13 UTC (permalink / raw)
  To: Ian Rogers
  Cc: Thomas Richter, LKML, linux-perf-users, Sven Schnelle,
	Vasily Gorbik, sumanth Korikkar, Heiko Carstens

Em Wed, Jul 20, 2022 at 06:16:44AM -0700, Ian Rogers escreveu:
> On Wed, Jul 20, 2022, 5:34 AM Thomas Richter <tmricht@linux.ibm.com> wrote:
> 
> > Perf test case 83: perf stat CSV output linter might fail
> > on s390.
> > The reason for this is the output of the command
> >
> >  ./perf stat -x, -A -a --no-merge true
> >
> > which depends on a .config file setting. When CONFIG_SCHED_TOPOLOGY
> > is set, the output of above perf command is
> >
> >    CPU0,1.50,msec,cpu-clock,1502781,100.00,1.052,CPUs utilized
> >
> > When CONFIG_SCHED_TOPOLOGY is *NOT* set the output of above perf
> > command is
> >
> >    0.95,msec,cpu-clock,949800,100.00,1.060,CPUs utilized
> >
> > Fix the test case to accept both output formats.
> >
> > Output before:
> >  # perf test 83
> >  83: perf stat CSV output linter       : FAILED!
> >  #
> >
> > Output after:
> >  # ./perf test 83
> >  83: perf stat CSV output linter       : Ok
> >  #
> >
> > Fixes: ec906102e5b7 ("perf test: Fix "perf stat CSV output linter" test on
> > s390")
> >
> > Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
> > Acked-by: Sumanth Korikkar <sumanthk@linux.ibm.com>
> >
> 
> Acked-by: Ian Rogers <irogers@google.com>

Thanks, applied.

- Arnaldo

 
> Thanks,
> Ian
> 
> ---
> >  tools/perf/tests/shell/stat+csv_output.sh | 7 ++++---
> >  1 file changed, 4 insertions(+), 3 deletions(-)
> >
> > diff --git a/tools/perf/tests/shell/stat+csv_output.sh
> > b/tools/perf/tests/shell/stat+csv_output.sh
> > index 38c26f3ef4c1..eb5196f58190 100755
> > --- a/tools/perf/tests/shell/stat+csv_output.sh
> > +++ b/tools/perf/tests/shell/stat+csv_output.sh
> > @@ -8,7 +8,8 @@ set -e
> >
> >  function commachecker()
> >  {
> > -       local -i cnt=0 exp=0
> > +       local -i cnt=0
> > +       local exp=0
> >
> >         case "$1"
> >         in "--no-args")         exp=6
> > @@ -17,7 +18,7 @@ function commachecker()
> >         ;; "--interval")        exp=7
> >         ;; "--per-thread")      exp=7
> >         ;; "--system-wide-no-aggr")     exp=7
> > -                               [ $(uname -m) = "s390x" ] && exp=6
> > +                               [ $(uname -m) = "s390x" ] && exp='^[6-7]$'
> >         ;; "--per-core")        exp=8
> >         ;; "--per-socket")      exp=8
> >         ;; "--per-node")        exp=8
> > @@ -34,7 +35,7 @@ function commachecker()
> >                 x=$(echo $line | tr -d -c ',')
> >                 cnt="${#x}"
> >                 # echo $line $cnt
> > -               [ "$cnt" -ne "$exp" ] && {
> > +               [[ ! "$cnt" =~ $exp ]] && {
> >                         echo "wrong number of fields. expected $exp in
> > $line" 1>&2
> >                         exit 1;
> >                 }
> > --
> > 2.36.1
> >
> >

-- 

- Arnaldo

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

end of thread, other threads:[~2022-07-20 16:13 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-20 12:34 [PATCH] perf/tests: Fix test case 83 on s390 Thomas Richter
     [not found] ` <CAP-5=fWeUh2hyGAqc4XidJZ7X06f4=MojyQwuOtbL3cs3u+T=w@mail.gmail.com>
2022-07-20 16:13   ` Arnaldo Carvalho de Melo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).