[RFC PATCH] perf test: Workload test of metric and metricgroups

From: Ian Rogers
Date: Thu Aug 19 2021 - 01:56:43 EST


Test every metric and metricgroup with perf bench as a workload.

Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
---
tools/perf/tests/shell/stat_all_metricgroups.sh | 12 ++++++++++++
tools/perf/tests/shell/stat_all_metrics.sh | 16 ++++++++++++++++
2 files changed, 28 insertions(+)
create mode 100755 tools/perf/tests/shell/stat_all_metricgroups.sh
create mode 100755 tools/perf/tests/shell/stat_all_metrics.sh

diff --git a/tools/perf/tests/shell/stat_all_metricgroups.sh b/tools/perf/tests/shell/stat_all_metricgroups.sh
new file mode 100755
index 000000000000..f0b7bda17970
--- /dev/null
+++ b/tools/perf/tests/shell/stat_all_metricgroups.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+# perf all metricgroups test
+# SPDX-License-Identifier: GPL-2.0
+
+set -e
+
+for m in $(perf list --raw-dump metricgroups); do
+ echo "Testing $m"
+ perf stat -M "$m" perf bench internals synthesize
+done
+
+exit 0
diff --git a/tools/perf/tests/shell/stat_all_metrics.sh b/tools/perf/tests/shell/stat_all_metrics.sh
new file mode 100755
index 000000000000..767396e81121
--- /dev/null
+++ b/tools/perf/tests/shell/stat_all_metrics.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+# perf all metrics test
+# SPDX-License-Identifier: GPL-2.0
+
+set -e
+
+for m in `perf list --raw-dump metrics`; do
+ echo "Testing $m"
+ result=$(perf stat -M "$m" perf bench internals synthesize)
+ if [[ "$result" =~ "$m" ]]; then
+ echo "Metric not printed: $m"
+ exit 1
+ fi
+done
+
+exit 0
--
2.33.0.rc1.237.g0d66db33f3-goog