Re: [PATCH v2 1/1] Add field checking tests for perf stat JSON output.

From: Jiri Olsa
Date: Tue Aug 31 2021 - 15:46:27 EST


On Fri, Aug 13, 2021 at 10:09:37PM +0000, Claire Jensen wrote:
> Counts number of fields to make sure expected fields are present.
>
> Signed-off-by: Claire Jensen <cjense@xxxxxxxxxx>
> ---
> .../tests/shell/lib/perf_json_output_lint.py | 48 ++++++++
> tools/perf/tests/shell/stat+json_output.sh | 114 ++++++++++++++++++
> 2 files changed, 162 insertions(+)
> create mode 100644 tools/perf/tests/shell/lib/perf_json_output_lint.py
> create mode 100644 tools/perf/tests/shell/stat+json_output.sh

this one needs to have exec priv, right?

>
> diff --git a/tools/perf/tests/shell/lib/perf_json_output_lint.py b/tools/perf/tests/shell/lib/perf_json_output_lint.py
> new file mode 100644
> index 000000000000..45d9163e7423
> --- /dev/null

SNIP

> diff --git a/tools/perf/tests/shell/stat+json_output.sh b/tools/perf/tests/shell/stat+json_output.sh
> new file mode 100644
> index 000000000000..8a772badae45
> --- /dev/null
> +++ b/tools/perf/tests/shell/stat+json_output.sh
> @@ -0,0 +1,114 @@
> +#!/bin/bash
> +# perf stat JSON output linter
> +# SPDX-License-Identifier: GPL-2.0
> +# Checks various perf stat JSON output commands for the
> +# correct number of fields.
> +
> +set -e
> +set -x
> +
> +pythonchecker=$(dirname $0)/lib/perf_json_output_lint.py
> +file="/proc/sys/kernel/perf_event_paranoid"
> +paranoia=$(cat "$file" | grep -o -E '[0-9]+')
> +
> +check_no_args()
> +{
> + perf stat -j sleep 1 2>&1 | \

hum, is this based on some other change? I don't see -j option in perf stat

jirka

> + python $pythonchecker --no-args
> +}
> +
> +if [ $paranoia -gt 0 ];
> +then
> + echo check_all_cpus test skipped because of paranoia level.
> +else
> + check_all_cpus()
> + {
> + perf stat -j -a 2>&1 sleep 1 | \
> + python $pythonchecker --all-cpus
> + }

SNIP