1*3ad7092fSWeilin Wang#!/bin/bash 2*3ad7092fSWeilin Wang# perf metrics value validation 3*3ad7092fSWeilin Wang# SPDX-License-Identifier: GPL-2.0 4*3ad7092fSWeilin Wangif [ "x$PYTHON" == "x" ] 5*3ad7092fSWeilin Wangthen 6*3ad7092fSWeilin Wang if which python3 > /dev/null 7*3ad7092fSWeilin Wang then 8*3ad7092fSWeilin Wang PYTHON=python3 9*3ad7092fSWeilin Wang else 10*3ad7092fSWeilin Wang echo Skipping test, python3 not detected please set environment variable PYTHON. 11*3ad7092fSWeilin Wang exit 2 12*3ad7092fSWeilin Wang fi 13*3ad7092fSWeilin Wangfi 14*3ad7092fSWeilin Wang 15*3ad7092fSWeilin Wanggrep -q GenuineIntel /proc/cpuinfo || { echo Skipping non-Intel; exit 2; } 16*3ad7092fSWeilin Wang 17*3ad7092fSWeilin Wangpythonvalidator=$(dirname $0)/lib/perf_metric_validation.py 18*3ad7092fSWeilin Wangrulefile=$(dirname $0)/lib/perf_metric_validation_rules.json 19*3ad7092fSWeilin Wangtmpdir=$(mktemp -d /tmp/__perf_test.program.XXXXX) 20*3ad7092fSWeilin Wangworkload="perf bench futex hash -r 2 -s" 21*3ad7092fSWeilin Wang 22*3ad7092fSWeilin Wang# Add -debug, save data file and full rule file 23*3ad7092fSWeilin Wangecho "Launch python validation script $pythonvalidator" 24*3ad7092fSWeilin Wangecho "Output will be stored in: $tmpdir" 25*3ad7092fSWeilin Wang$PYTHON $pythonvalidator -rule $rulefile -output_dir $tmpdir -wl "${workload}" 26*3ad7092fSWeilin Wangret=$? 27*3ad7092fSWeilin Wangrm -rf $tmpdir 28*3ad7092fSWeilin Wang 29*3ad7092fSWeilin Wangexit $ret 30*3ad7092fSWeilin Wang 31