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

From: Ian Rogers
Date: Wed Nov 30 2022 - 13:21:07 EST


On Wed, Nov 30, 2022 at 3:15 AM James Clark <james.clark@xxxxxxx> 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@xxxxxxx>

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
>