3 # interp.c and excessive reading
5 # Copyright (c) 1995-2002 Silicon Graphics, Inc. All Rights Reserved.
9 echo "QA output created by $seq"
11 # get standard filters
16 trap "$sudo rm -f $tmp.*; exit" 0 1 2 3 15
21 BEGIN { min["0.1"] = 58; max["0.1"] = 62
22 min["0.2"] = 28; max["0.2"] = 32
23 min["0.4"] = 13; max["0.4"] = 17
26 /^[0-2][0-9]:/ { sample++; next }
27 /No values/ { noval++; next }
28 END { if (min[xx] <= sample && sample <= max[xx])
29 printf "%d-%d samples\n",min[xx],max[xx]
31 printf "unexpected %d samples, not %d-%d\n",sample,min[xx],max[xx]
32 if (noval > 0) printf "Error: %d \"no values\"\n",noval
39 /LogRead.*peek/ { print "__pmLogRead-peek"; next }
40 /LogRead.*forw/ { print "__pmLogRead-forw"; next }
41 /LogRead.*back/ { print "__pmLogRead-back"; next }
42 /FetchInterp/ { print "_pmFetchInterp"; next }' \
43 | LC_COLLATE
=POSIX
sort \
47 min["0.1-interp"] = 116; max["0.1-interp"] = 120
48 min["0.1-back"] = 1; max["0.1-back"] = 5
49 min["0.1-forw"] = 51; max["0.1-forw"] = 58
50 min["0.1-peek"] = 1; max["0.1-peek"] = 1
52 min["0.2-interp"] = 58; max["0.2-interp"] = 60
53 min["0.2-back"] = 1; max["0.2-back"] = 5
54 min["0.2-forw"] = 51; max["0.2-forw"] = 58
55 min["0.2-peek"] = 1; max["0.2-peek"] = 1
57 min["0.4-interp"] = 29; max["0.4-interp"] = 30
58 min["0.4-back"] = 1; max["0.4-back"] = 5
59 min["0.4-forw"] = 51; max["0.4-forw"] = 58
60 min["0.4-peek"] = 1; max["0.4-peek"] = 1
64 $2 ~ /Interp/ { yy = xx "-interp" }
65 $2 ~ /-back/ { yy = xx "-back" }
66 $2 ~ /-forw/ { yy = xx "-forw" }
67 $2 ~ /-peek/ { yy = xx "-peek" }
70 else if (min[yy] <= $1 && $1 <= max[yy])
71 printf "%s %d-%d calls\n",$2,min[yy],max[yy]
73 printf "%s unexpected %d calls, not %d-%d\n",$2,$1,min[yy],max[yy]
83 BEGIN { min = 31; max = 31 }
84 { if (min <= $1 && $1 <= max)
85 printf "%d-%d timestamps\n",min,max
87 printf "unexpected %d timestamps, not %d-%d\n",$1,min,max
91 # real QA test starts here
92 $sudo rm -f $tmp.
* $seq.full
93 _start_up_pmlogger
-s 30 -L -c /dev
/null
-l $tmp.log
$tmp
98 echo "=== log sample.bin[bin-100] ===" |
tee -a $seq.full
101 log mandatory on 200 msec sample.bin ["bin-100"]
106 echo "=== log sample.bin[bin-200] ===" |
tee -a $seq.full
109 log mandatory on 200 msec sample.bin ["bin-200"]
112 _wait_pmlogger_end
$pid
113 _filter_pmlogger_log
<$tmp.log
114 cat $tmp.log
>>$seq.full
117 echo "=== pmdumplog ===" |
tee -a $seq.full
118 pmdumplog
-m $tmp |
tee -a $seq.full | _filter_dump
120 offset
=`_arch_start $tmp 0.05`
121 echo "offset=$offset" >>$seq.full
123 for delta
in 0.1 0.2 0.4
126 echo "=== pmval -t $delta ===" |
tee -a $seq.full
127 pmval
-O $offset -Dlog,logmeta
,interp
-i "bin-100,bin-200" -t $delta -a $tmp sample.bin
2>$tmp.err \
130 _filter_err
$delta <$tmp.err
131 cat $tmp.err
>>$seq.full