python api: fix syntax error in recent context changes
[pcp.git] / qa / 849
blob73c1b5dacd41c6b384edca32b3412b5e68e3abc4
1 #!/bin/sh
2 # PCP QA Test No. 849
3 # pmie extensions for string-valued expressions
5 # Copyright (c) 2016 Ken McDonell. All Rights Reserved.
8 seq=`basename $0`
9 echo "QA output created by $seq"
11 # get standard environment, filters and checks
12 . ./common.product
13 . ./common.filter
14 . ./common.check
16 status=1 # failure is the default!
17 $sudo rm -rf $tmp $tmp.* $seq.full
18 trap "cd $here; rm -rf $tmp $tmp.*; exit \$status" 0 1 2 3 15
20 _filter()
22 sed \
23 -e 's/[A-Z][a-z][a-z] [A-Z][a-z][a-z] *[0-9][0-9]* [0-9][0-9]:[0-9][0-9]:[0-9][0-9]/DATE/' \
24 -e 's/DATE [12][0-9][0-9][0-9]/DATE/' \
25 -e '/evaluator exiting/s/pmie([0-9][0-9]*)/pmie(PID)/' \
26 -e '/Performance Co-Pilot Inference Engine/s/Version .*/Version .../'
29 # mapping to 0x0 -> (nil) needed for C compilers that don't do the
30 # (nil) translation automatically for a printf %p
32 _filter2()
34 sed \
35 -e 's/0x0\([ (]\)/(nil)\1/g' \
36 -e 's/0x0$/(nil)/' \
37 -e "s@$tmp@TMP@g" \
38 | $PCP_AWK_PROG '
39 $1 == "pmie:" { print; next }
40 /failed: / { print; next }
41 $1 == "bundle:" { skip=1 }
42 skip == 1 { if ($1 == "Rule:") skip = 0 }
43 skip == 1 { next }
44 { print }' >$tmp.tmp
45 tr ' =' '\012' <$tmp.tmp \
46 | grep '0x' \
47 | $PCP_AWK_PROG >$tmp.sed '
48 BEGIN { n = 0 }
49 { if (seen[$1] == 1) next
50 printf "s/%s/ADDR%03d/\n",$1,n
51 n++
52 seen[$1] = 1
54 sed -f $tmp.sed <$tmp.tmp
57 # real QA test starts here
58 echo "Error cases ..."
60 cat <<'End-of-File' >$tmp.pmie.00
61 sample.long.ten == "foo" -> print "blah";
62 End-of-File
64 for x in $tmp.pmie.*
66 echo | tee -a $seq.full
67 echo "Test: `echo $x | sed -e "s;$tmp.pmie.;;"`" | tee -a $seq.full
68 cat $x | tee -a $seq.full >>$seq.full
69 pmie -Dappl0,appl1 -c $x -t 2 -T 1sec >$tmp.out 2>$tmp.err
70 echo "=== pmie output ===" >>$seq.full
71 cat $tmp.out >>$seq.full
72 echo >>$seq.full
73 echo "=== pmie errors ===" >>$seq.full
74 cat $tmp.err >>$seq.full
76 _filter2 <$tmp.err | _filter
77 _filter <$tmp.out
78 done
80 # success, all done
81 status=0
83 exit