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