Files
rocm-systems/script/check_trace.sh
T
2020-03-17 12:22:10 -04:00

81 righe
3.3 KiB
Bash

#!/bin/sh
################################################################################
# Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
################################################################################
tracename=$1
trace="${tracename}.txt"
rtrace="${tracename}_r.txt"
label=$2
trace_level=0
eval_trlevel() {
tracefilename=$(basename $1)
trace_level=`grep -w $tracefilename tests_trace_cmp_levels.txt | awk -F' ' '{print $2}'`
echo "Trace comparison for $tracefilename is at level $trace_level"
}
eval_trlevel $tracename
case "$trace_level" in
"0") echo "$label: PASSED"
;;
"1")
#echo "../script/parse_trace.py -in $rtrace -cn"
echo "parse_trace.gen_events_info($rtrace,cn=1,or=0)"
cnt_r=$(python -c 'import sys;sys.path.append("../script");import parse_trace; print parse_trace.gen_events_info("'$rtrace'",1,0)')
#cnt_r=`../script/parse_trace.py -in $rtrace -cn`
#cnt=`../script/parse_trace.py -in $trace -cn`
cnt=$(python -c 'import sys;sys.path.append("../script");import parse_trace; print parse_trace.gen_events_info("'$trace'",1,0)')
if [ "$cnt_r" = "$cnt" ] ; then
echo "$label: PASSED (trace compare, events count)"
else
echo "$label: FAILED (trace compare, events count)"
test_status=$(($test_status + 1))
fi
;;
"2")
#echo "../script/parse_trace.py -in $rtrace -or"
echo "parse_trace.gen_events_info($rtrace,cn=0,or=1)"
cnt_r=$(python -c 'import sys;sys.path.append("../script");import parse_trace; print parse_trace.gen_events_info("'$rtrace'",0,1)')
#cnt_r=`../script/parse_trace.py -in $rtrace -or`
#cnt=`../script/parse_trace.py -in $trace -or`
cnt=$(python -c 'import sys;sys.path.append("../script");import parse_trace; print parse_trace.gen_events_info("'$trace'",0,1)')
if [ "$cnt_r" = "$cnt" ] ; then
echo "$label: PASSED (trace compare, events order)"
else
echo "$label: FAILED (trace compare, events order)"
test_status=$(($test_status + 1))
fi
;;
"3")
echo "Comparing $trace $rtrace :"
eval "diff --brief $trace $rtrace"
if [ $? != 0 ] ; then
echo "$label: FAILED (trace compare, files differ)"
test_status=$(($test_status + 1))
else
echo "$label: PASSED (trace compare, files are the same)"
fi
;;
esac