qa: revert some change to expected 244 outputs (from pmda-restart)
[pcp.git] / qa / 102
blob704369e099b9887f6bcbaaca867749f0ef9bf526
1 #! /bin/sh
2 # PCP QA Test No. 102
3 # pmlc parser/scanner/error handling
5 # Copyright (c) 1995-2002 Silicon Graphics, Inc. All Rights Reserved.
8 seq=`basename $0`
9 echo "QA output created by $seq"
11 # get standard filters
12 . ./common.product
13 . ./common.filter
14 . ./common.check
16 _cleanup()
18 _restore_primary_logger
19 $sudo rm -f $tmp $tmp.*
20 exit $status
23 status=1
24 rm -f $seq.full
25 trap "_cleanup" 0 1 2 3 15
27 _filter_pmlc()
29 # error message mapping is due to differences between PCP_PLATFORMs
31 sed \
32 -e 's/connect [0-9][0-9]*/connect PID/' \
33 -e 's/Version [0-9].*/Version VERSION/' \
34 -e 's/^parse error/Syntax error/' \
35 -e 's/line [0-9]*/line NUM/g' \
36 -e 's/^syntax error/Syntax error/' \
37 -e 's/^Reason: Unknown or illegal.*$/Reason: No PMCD agent for domain of request/'
40 signal=$PCP_BINADM_DIR/pmsignal
42 # real QA test starts here
43 _writable_primary_logger
44 ls -l $PCP_VAR_DIR/config/pmlogger/config.default >>$seq.full
45 cat $PCP_VAR_DIR/config/pmlogger/config.default >>$seq.full
46 pmlc -P </dev/null 2>&1 >>$seq.full
47 $sudo $PCP_RC_DIR/pcp restart | _filter_pcp_start
48 _wait_for_pmcd
49 _wait_for_pmlogger
51 pmlc -ie <<End-of-File >$tmp.out 2>$tmp.err
52 # not connected
53 query sample.drift
54 advisory on 1 hour sample.drift
56 connect primary
57 # incomplete - syntax error
58 query sample.bin [
59 query {
60 sample.drift
61 # eat input
62 # up to
63 # next } -- curly brace
65 query {
66 barf.no.metric
67 # suck to } ... not that one, this one ..
70 End-of-File
71 _filter_pmlc <$tmp.err
72 _filter_pmlc <$tmp.out
74 for delta in "-1 msec" "75 hours" "599 hours" "1200 hours"
76 $sudo rm -f $tmp.*
77 cat <<End-of-File >$tmp.config
78 log advisory on $delta sample.bin [100]
79 End-of-File
80 # pmlogger -c $tmp.config -T 4 $tmp
81 $sudo rm -f $tmp.*
82 _start_up_pmlogger -L -c /dev/null -l $tmp.log -T 4 $tmp
83 pmsleep 0.5
84 pmlc -ie <<End-of-File >$tmp.out 2>$tmp.err
85 connect $pid
86 log advisory on $delta sample.bin [100]
87 End-of-File
88 _filter_pmlc <$tmp.err
89 _filter_pmlc <$tmp.out
90 $sudo $signal -s TERM $pid
91 _wait_pmlogger_end $pid
92 _filter_pmlogger_log <$tmp.log
93 done
94 pmsleep 0.5
96 pmlc -ie <<End-of-File >$tmp.out 2>$tmp.err
97 connect primary
98 log mandatory on 1 hour { sample.bin, sample.drift, sample.seconds }
99 query sample.bin[333]
100 End-of-File
101 _filter_pmlc <$tmp.err
102 _filter_pmlc <$tmp.out
104 $sudo $signal -a pmdasample
105 pmsleep 0.5 # time to cleanup
106 pminfo -f sample >/dev/null 2>&1 # and make sure pmcd notices
108 pmlc -ie <<End-of-File >$tmp.out 2>$tmp.err
109 connect primary
110 query sample.bin[100]
111 query sample.bin[100]
112 End-of-File
113 _filter_pmlc <$tmp.err
114 _filter_pmlc <$tmp.out
116 $sudo $signal -a -s HUP pmcd
117 pmsleep 0.5 # time to cleanup
118 pmlc -ie <<End-of-File >$tmp.out 2>$tmp.err
119 connect primary
120 query sample.bin[100]
122 query { sample.bin,sample.drift sample.seconds }
123 query { sample.bin sample.drift,sample.seconds }
124 query sample.bin [100,200,300 400 500,700]
125 query sample.bin [100,"bin-200"]
126 End-of-File
127 _filter_pmlc <$tmp.err
128 _filter_pmlc <$tmp.out
130 pmlc -ie <<End-of-File >$tmp.out 2>$tmp.err
131 connect primary
132 log mandatory maybe {
133 sample.bin
134 sample.drift, sample.seconds
136 End-of-File
137 _filter_pmlc <$tmp.err
138 _filter_pmlc <$tmp.out
140 status=0
141 exit