qa: update 660 to generate index.html, fixing pcp-testsuite runs
[pcp.git] / qa / 497
blob234a48181c4faf0c9b8d6432370b834c8deb06a9
1 #!/bin/sh
2 # PCP QA Test No. 497
3 # pmlogconf - error handling in pmlogconf-setup
5 # Copyright (c) 2014 Red Hat.
6 # Copyright (c) 2011 Ken McDonell. All Rights Reserved.
9 seq=`basename $0`
10 echo "QA output created by $seq"
12 # get standard environment, filters and checks
13 . ./common.product
14 . ./common.filter
15 . ./common.check
17 [ -f $PCP_BINADM_DIR/pmlogconf-setup ] || \
18 _notrun "pmlogconf version 2.0 not installed"
20 rm -f $seq.out
21 if [ $PCP_VER -ge 30901 ]
22 then
23 suffix=2
24 else
25 suffix=1
27 ln $seq.out.$suffix $seq.out || exit 1
29 status=0 # success is the default!
30 $sudo rm -rf $tmp.* $seq.full
31 trap "rm -rf $tmp $tmp.*; exit \$status" 0 1 2 3 15
32 mkdir $tmp
34 # need to handle diff-c lines like this
35 # *** TMP.conf 2010-06-17 06:36:00.000000000 +1000
36 # --- /var/tmp/26102.ctl 2010-06-17 06:36:01.000000000 +1000
38 _filter()
40 sed \
41 -e "s;$tmp;TMP;g" \
42 -e '/^\*\*\* TMP\.conf/s/\.conf.*/.orig .../' \
43 -e '/^--- .*\.ctl/s/ .*/ TMP.new .../'
46 cat <<End-of-File >$tmp/01
47 #pmlogconf-setup 2.0
48 probe sample.long.ten ? include : exclude
49 ident qa group one
50 ident this one contains no errors
51 sample.long.million
52 End-of-File
54 # real QA test starts here
56 pmlogconf -d $tmp $tmp.conf \
57 | _filter
59 echo "--- start initial config file ---"
60 cat $tmp.conf | _filter
61 echo "--- end initial config file ---"
63 echo
64 echo "=== bad condition in probe clause ==="
65 cat <<End-of-File >$tmp/02
66 #pmlogconf-setup 2.0
67 probe sample.ulong.ten bozo ? include : exclude
68 ident foo
69 sample.ulong.ten
70 End-of-File
71 ( echo q ; echo '') | pmlogconf -v -d $tmp $tmp.conf \
72 | _filter
74 echo
75 echo "=== missing val in probe condition ==="
76 cat <<End-of-File >$tmp/02
77 #pmlogconf-setup 2.0
78 probe sample.ulong.ten == ? include : exclude
79 ident foo
80 sample.ulong.ten
81 End-of-File
82 ( echo q ; echo '') | pmlogconf -v -d $tmp $tmp.conf \
83 | _filter
85 echo
86 echo "=== bad keyword in probe state rule ==="
87 cat <<End-of-File >$tmp/02
88 #pmlogconf-setup 2.0
89 probe sample.ulong.ten exists ? include : foo
90 ident foo
91 sample.ulong.ten
92 End-of-File
93 ( echo q ; echo '') | pmlogconf -v -d $tmp $tmp.conf \
94 | _filter
96 echo
97 echo "=== missing : probe state rule ==="
98 cat <<End-of-File >$tmp/02
99 #pmlogconf-setup 2.0
100 probe sample.ulong.ten exists ? include exclude
101 ident foo
102 sample.ulong.ten
103 End-of-File
104 ( echo q ; echo '') | pmlogconf -v -d $tmp $tmp.conf \
105 | _filter
107 echo
108 echo "=== bad probe state rule ==="
109 cat <<End-of-File >$tmp/02
110 #pmlogconf-setup 2.0
111 probe sample.ulong.ten exists ? include ! exclude
112 ident foo
113 sample.ulong.ten
114 End-of-File
115 ( echo q ; echo '') | pmlogconf -v -d $tmp $tmp.conf \
116 | _filter
118 echo
119 echo "=== extra text in probe state rule ==="
120 cat <<End-of-File >$tmp/02
121 #pmlogconf-setup 2.0
122 probe sample.ulong.ten exists ? include : exclude foo
123 ident foo
124 sample.ulong.ten
125 End-of-File
126 ( echo q ; echo '') | pmlogconf -v -d $tmp $tmp.conf \
127 | _filter
129 echo
130 echo "=== bad force clause ==="
131 cat <<End-of-File >$tmp/02
132 #pmlogconf-setup 2.0
133 force foo
134 ident foo
135 sample.ulong.ten
136 End-of-File
137 ( echo q ; echo '') | pmlogconf -v -d $tmp $tmp.conf \
138 | _filter
140 echo "--- start final config file ---"
141 cat $tmp.conf | _filter
142 echo "--- end final config file ---"
144 # success, all done
145 exit