qa: update 660 to generate index.html, fixing pcp-testsuite runs
[pcp.git] / qa / 498
blobbbbe47d75edde2bb566af6046b5c516aa743b29c
1 #!/bin/sh
2 # PCP QA Test No. 498
3 # exercise pmdaEventQueue interfaces
5 # Copyright (c) 2011 Nathan Scott. 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 rm -f $seq.out
17 if [ $PCP_VER -lt 30604 ]
18 then
19 ln $seq.out.1 $seq.out || exit 1
20 elif [ $PCP_VER -lt 30605 ]
21 then
22 ln $seq.out.2 $seq.out || exit 1
23 else
24 ln $seq.out.3 $seq.out || exit 1
27 status=0 # success is the default!
28 $sudo rm -rf $tmp.* $seq.full
29 trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
31 _filter()
33 sed \
34 -e 's/^\[[A-Z].. [A-Z].. *[0-9][0-9]* ..:..:..]/[DATE]/' \
35 -e 's/[0-9][0-9]:[0-9][0-9]:[0-9][0-9]\.[0-9][0-9][0-9]/[TIME]/' \
36 -e 's/event=0x0$/event=(nil)/' \
37 -e 's/0x[0-9a-f][0-9a-f]*/0xADDR/' \
38 -e 's/queue([0-9][0-9]*)/queue(PID)/' \
39 -e "s;$PCP_VAR_DIR;\$PCP_VAR_DIR;"
42 _queue_test()
44 # always enable library debugging, stash raw results and output filtered
45 src/pmdaqueue -Dlibpmda $@ 2>&1 | tee -a $seq.full | _filter
48 # real QA test starts here
49 echo
50 echo "events arriving with no queues setup yet (fail)"
51 _queue_test -E 0,1024
53 echo
54 echo "attempt to register duplicate queue names (fail)"
55 _queue_test -q queue1,1024 -q queue1,1024
57 echo
58 echo "attempt queue creation without memory limit (fail)"
59 _queue_test -q queue1,0
61 echo
62 echo "create one queue, events arriving with no clients yet"
63 _queue_test -q queue1,1024 -e queue1,128 -e queue1,42 -e queue1,18 -s queue1
65 echo
66 echo "multiple queues, events arriving without clients"
67 _queue_test \
68 -q queue0,1024 -q queue1,512 \
69 -e queue0,128 -e queue1,24 -e queue0,18 \
70 -e queue1,228 -e queue0,142 -e queue1,28 \
71 -s queue0 -s queue1 \
72 -q queue2,356 \
73 -e queue2,328 -e queue2,32 -e queue0,17 -e queue1,227 \
74 -s queue0 -s queue1 -s queue2
76 echo
77 echo "single queue, single client, coming and going, no events arriving"
78 _queue_test -q queue0,1024 -c 1 -S 1,queue0 -s queue0 -C 1 -s queue0
80 echo
81 echo "single queue, single client, coming and going, with events arriving"
82 _queue_test \
83 -q queue0,1024 \
84 -c 1 -A1,queue0 \
85 -s queue0 -S 1,queue0 \
86 -e queue0,24 \
87 -s queue0 -S 1,queue0 \
88 -C 1 \
89 -s queue0
91 echo
92 echo "single queue, single client, queue filling up"
93 _queue_test \
94 -q queue0,42 \
95 -c 1 \
96 -A 1,queue0 \
97 -s queue0 -S 1,queue0 \
98 -e queue0,24 \
99 -e queue0,2 \
100 -e queue0,8 \
101 -s queue0 -S 1,queue0 \
102 -e queue0,28 \
103 -e queue0,28 \
104 -s queue0 -S 1,queue0
106 echo
107 echo "single queue, single filtering client"
108 _queue_test \
109 -q queue0,42 \
110 -c 1 -A1,queue0 \
111 -f 1,queue0,10 \
112 -s queue0 -S 1,queue0 \
113 -e queue0,24 \
114 -e queue0,2 \
115 -e queue0,8 \
116 -s queue0 -S 1,queue0 \
117 -e queue0,28 \
118 -e queue0,28 \
119 -s queue0 -S 1,queue0
121 echo
122 echo "multiple queues, multiple clients coming and going, queues filling"
123 _queue_test \
124 -q queue0,1024 -q queue1,512 -q queue2,356 \
125 -c 84 -A 84,queue0 -c 42 -A 42,queue1 -c 21 -A 21,queue1 \
126 -S 84,queue0 -S 42,queue1 -S 21,queue1 \
127 -e queue0,128 -e queue1,24 -e queue0,18 \
128 -e queue1,228 -e queue0,142 -e queue1,28 \
129 -s queue0 -S 84,queue0 -s queue1 -S 42,queue1 -s queue2 -S 21,queue2 \
130 -C 84 \
131 -e queue2,328 -e queue2,32 -e queue0,17 -e queue1,227 \
132 -c 84 -C 42 -c 21 \
133 -s queue0 -S 84,queue0 -s queue1 -S 42,queue1 -s queue2 -S 21,queue2
135 echo
136 echo "ad-hoc queues, multiple clients coming and going, queues filling"
137 _queue_test \
138 -q queue0,1024 -q queue1,512 \
139 -c 84 -A 84,queue0 -c 42 -A 42,queue1 -c 21 -A 21,queue1 \
140 -S 84,queue0 -S 42,queue1 -S 21,queue1 \
141 -e queue0,128 -e queue1,24 -e queue0,18 \
142 -e queue1,228 -e queue0,142 -e queue1,28 \
143 -q queue2,356 \
144 -s queue0 -S 84,queue0 -s queue1 -S 42,queue1 -s queue2 -S 21,queue2 \
145 -C 84 \
146 -e queue2,328 -e queue2,32 -e queue0,17 -e queue1,227 \
147 -c 84 -C 42 -c 21 \
148 -s queue0 -S 84,queue0 -s queue1 -S 42,queue1 -s queue2 -S 21,queue2
150 # success, all done
151 exit