1*4a87dea9SIan Rogers#!/bin/sh 2*4a87dea9SIan Rogers# perf all metrics test 3*4a87dea9SIan Rogers# SPDX-License-Identifier: GPL-2.0 4*4a87dea9SIan Rogers 5*4a87dea9SIan Rogersset -e 6*4a87dea9SIan Rogers 7*4a87dea9SIan Rogersfor m in $(perf list --raw-dump metrics); do 8*4a87dea9SIan Rogers echo "Testing $m" 9*4a87dea9SIan Rogers result=$(perf stat -M "$m" true 2>&1) 10*4a87dea9SIan Rogers if [[ ! "$result" =~ "$m" ]] && [[ ! "$result" =~ "<not supported>" ]]; then 11*4a87dea9SIan Rogers # We failed to see the metric and the events are support. Possibly the 12*4a87dea9SIan Rogers # workload was too small so retry with something longer. 13*4a87dea9SIan Rogers result=$(perf stat -M "$m" perf bench internals synthesize 2>&1) 14*4a87dea9SIan Rogers if [[ ! "$result" =~ "$m" ]]; then 15*4a87dea9SIan Rogers echo "Metric '$m' not printed in:" 16*4a87dea9SIan Rogers echo "$result" 17*4a87dea9SIan Rogers exit 1 18*4a87dea9SIan Rogers fi 19*4a87dea9SIan Rogers fi 20*4a87dea9SIan Rogersdone 21*4a87dea9SIan Rogers 22*4a87dea9SIan Rogersexit 0 23