[1/2] perf tests: Fix "perf stat JSON output linter" test for new output

Message ID 20221130111521.334152-1-james.clark@arm.com
State New
Headers
Series [1/2] perf tests: Fix "perf stat JSON output linter" test for new output |

Commit Message

James Clark Nov. 30, 2022, 11:15 a.m. UTC
  Commit c4b41b83c250 ("perf stat: Rename "aggregate-number" to
"cpu-count" in JSON") renamed a field, so update the tests to reflect
this.

This fixes the following failure:

  $ sudo ./perf test "json output" -vvv
   96: perf stat JSON output linter                                    :
  --- start ---
  test child forked, pid 327720
  Checking json output: no args [Success]
  Checking json output: system wide [Success]
  Checking json output: interval [Success]
  Checking json output: event [Success]
  Checking json output: per thread [Success]
  Checking json output: per node Test failed for input:
  ...
  Traceback (most recent call last):
    File "./tools/perf/tests/shell/lib/perf_json_output_lint.py", line 93, in <module>
      check_json_output(expected_items)
    File "./tools/perf/tests/shell/lib/perf_json_output_lint.py", line 78, in check_json_output
      raise RuntimeError(f'Unexpected key: key={key} value={value}')
  RuntimeError: Unexpected key: key=cpu-count value=16
  test child finished with -1
  ---- end ----
  perf stat JSON output linter: FAILED!

Fixes: c4b41b83c250 ("perf stat: Rename "aggregate-number" to "cpu-count" in JSON")
Signed-off-by: James Clark <james.clark@arm.com>
---
 tools/perf/tests/shell/lib/perf_json_output_lint.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Ian Rogers Nov. 30, 2022, 6:18 p.m. UTC | #1
On Wed, Nov 30, 2022 at 3:15 AM James Clark <james.clark@arm.com> wrote:
>
> Commit c4b41b83c250 ("perf stat: Rename "aggregate-number" to
> "cpu-count" in JSON") renamed a field, so update the tests to reflect
> this.
>
> This fixes the following failure:
>
>   $ sudo ./perf test "json output" -vvv
>    96: perf stat JSON output linter                                    :
>   --- start ---
>   test child forked, pid 327720
>   Checking json output: no args [Success]
>   Checking json output: system wide [Success]
>   Checking json output: interval [Success]
>   Checking json output: event [Success]
>   Checking json output: per thread [Success]
>   Checking json output: per node Test failed for input:
>   ...
>   Traceback (most recent call last):
>     File "./tools/perf/tests/shell/lib/perf_json_output_lint.py", line 93, in <module>
>       check_json_output(expected_items)
>     File "./tools/perf/tests/shell/lib/perf_json_output_lint.py", line 78, in check_json_output
>       raise RuntimeError(f'Unexpected key: key={key} value={value}')
>   RuntimeError: Unexpected key: key=cpu-count value=16
>   test child finished with -1
>   ---- end ----
>   perf stat JSON output linter: FAILED!
>
> Fixes: c4b41b83c250 ("perf stat: Rename "aggregate-number" to "cpu-count" in JSON")
> Signed-off-by: James Clark <james.clark@arm.com>

Namhyung mentioned reverting change c4b41b83c250, in which case
merging this would break the test again. I think the revert is better.

Thanks,
Ian

> ---
>  tools/perf/tests/shell/lib/perf_json_output_lint.py | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/tests/shell/lib/perf_json_output_lint.py b/tools/perf/tests/shell/lib/perf_json_output_lint.py
> index d90f8d102eb9..9c073e257d33 100644
> --- a/tools/perf/tests/shell/lib/perf_json_output_lint.py
> +++ b/tools/perf/tests/shell/lib/perf_json_output_lint.py
> @@ -54,7 +54,7 @@ def check_json_output(expected_items):
>            raise RuntimeError(f'wrong number of fields. counted {count} expected {expected_items}'
>                               f' in \'{line}\'')
>    checks = {
> -      'aggregate-number': lambda x: isfloat(x),
> +      'cpu-count': lambda x: isfloat(x),
>        'core': lambda x: True,
>        'counter-value': lambda x: is_counter_value(x),
>        'cgroup': lambda x: True,
> --
> 2.25.1
>
  
Namhyung Kim Nov. 30, 2022, 6:31 p.m. UTC | #2
Hi,

On Wed, Nov 30, 2022 at 10:19 AM Ian Rogers <irogers@google.com> wrote:
>
> On Wed, Nov 30, 2022 at 3:15 AM James Clark <james.clark@arm.com> wrote:
> >
> > Commit c4b41b83c250 ("perf stat: Rename "aggregate-number" to
> > "cpu-count" in JSON") renamed a field, so update the tests to reflect
> > this.
> >
> > This fixes the following failure:
> >
> >   $ sudo ./perf test "json output" -vvv
> >    96: perf stat JSON output linter                                    :
> >   --- start ---
> >   test child forked, pid 327720
> >   Checking json output: no args [Success]
> >   Checking json output: system wide [Success]
> >   Checking json output: interval [Success]
> >   Checking json output: event [Success]
> >   Checking json output: per thread [Success]
> >   Checking json output: per node Test failed for input:
> >   ...
> >   Traceback (most recent call last):
> >     File "./tools/perf/tests/shell/lib/perf_json_output_lint.py", line 93, in <module>
> >       check_json_output(expected_items)
> >     File "./tools/perf/tests/shell/lib/perf_json_output_lint.py", line 78, in check_json_output
> >       raise RuntimeError(f'Unexpected key: key={key} value={value}')
> >   RuntimeError: Unexpected key: key=cpu-count value=16
> >   test child finished with -1
> >   ---- end ----
> >   perf stat JSON output linter: FAILED!
> >
> > Fixes: c4b41b83c250 ("perf stat: Rename "aggregate-number" to "cpu-count" in JSON")
> > Signed-off-by: James Clark <james.clark@arm.com>
>
> Namhyung mentioned reverting change c4b41b83c250, in which case
> merging this would break the test again. I think the revert is better.

Yep, I will send the revert soon.

Thanks,
Namhyung
  
Arnaldo Carvalho de Melo Dec. 2, 2022, 6:46 p.m. UTC | #3
Em Wed, Nov 30, 2022 at 10:18:49AM -0800, Ian Rogers escreveu:
> On Wed, Nov 30, 2022 at 3:15 AM James Clark <james.clark@arm.com> wrote:
> >
> > Commit c4b41b83c250 ("perf stat: Rename "aggregate-number" to
> > "cpu-count" in JSON") renamed a field, so update the tests to reflect
> > this.
> >
> > This fixes the following failure:
> >
> >   $ sudo ./perf test "json output" -vvv
> >    96: perf stat JSON output linter                                    :
> >   --- start ---
> >   test child forked, pid 327720
> >   Checking json output: no args [Success]
> >   Checking json output: system wide [Success]
> >   Checking json output: interval [Success]
> >   Checking json output: event [Success]
> >   Checking json output: per thread [Success]
> >   Checking json output: per node Test failed for input:
> >   ...
> >   Traceback (most recent call last):
> >     File "./tools/perf/tests/shell/lib/perf_json_output_lint.py", line 93, in <module>
> >       check_json_output(expected_items)
> >     File "./tools/perf/tests/shell/lib/perf_json_output_lint.py", line 78, in check_json_output
> >       raise RuntimeError(f'Unexpected key: key={key} value={value}')
> >   RuntimeError: Unexpected key: key=cpu-count value=16
> >   test child finished with -1
> >   ---- end ----
> >   perf stat JSON output linter: FAILED!
> >
> > Fixes: c4b41b83c250 ("perf stat: Rename "aggregate-number" to "cpu-count" in JSON")
> > Signed-off-by: James Clark <james.clark@arm.com>
> 
> Namhyung mentioned reverting change c4b41b83c250, in which case
> merging this would break the test again. I think the revert is better.

Applied the revert, with an Acked-by: you.
 
> Thanks,
> Ian
> 
> > ---
> >  tools/perf/tests/shell/lib/perf_json_output_lint.py | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/tools/perf/tests/shell/lib/perf_json_output_lint.py b/tools/perf/tests/shell/lib/perf_json_output_lint.py
> > index d90f8d102eb9..9c073e257d33 100644
> > --- a/tools/perf/tests/shell/lib/perf_json_output_lint.py
> > +++ b/tools/perf/tests/shell/lib/perf_json_output_lint.py
> > @@ -54,7 +54,7 @@ def check_json_output(expected_items):
> >            raise RuntimeError(f'wrong number of fields. counted {count} expected {expected_items}'
> >                               f' in \'{line}\'')
> >    checks = {
> > -      'aggregate-number': lambda x: isfloat(x),
> > +      'cpu-count': lambda x: isfloat(x),
> >        'core': lambda x: True,
> >        'counter-value': lambda x: is_counter_value(x),
> >        'cgroup': lambda x: True,
> > --
> > 2.25.1
> >
  

Patch

diff --git a/tools/perf/tests/shell/lib/perf_json_output_lint.py b/tools/perf/tests/shell/lib/perf_json_output_lint.py
index d90f8d102eb9..9c073e257d33 100644
--- a/tools/perf/tests/shell/lib/perf_json_output_lint.py
+++ b/tools/perf/tests/shell/lib/perf_json_output_lint.py
@@ -54,7 +54,7 @@  def check_json_output(expected_items):
           raise RuntimeError(f'wrong number of fields. counted {count} expected {expected_items}'
                              f' in \'{line}\'')
   checks = {
-      'aggregate-number': lambda x: isfloat(x),
+      'cpu-count': lambda x: isfloat(x),
       'core': lambda x: True,
       'counter-value': lambda x: is_counter_value(x),
       'cgroup': lambda x: True,