3 # pmlogconf - error handling in pmlogconf-setup
5 # Copyright (c) 2014 Red Hat.
6 # Copyright (c) 2011 Ken McDonell. All Rights Reserved.
10 echo "QA output created by $seq"
12 # get standard environment, filters and checks
17 [ -f $PCP_BINADM_DIR/pmlogconf-setup
] || \
18 _notrun
"pmlogconf version 2.0 not installed"
21 if [ $PCP_VER -ge 30901 ]
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
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
42 -e '/^\*\*\* TMP\.conf/s/\.conf.*/.orig .../' \
43 -e '/^--- .*\.ctl/s/ .*/ TMP.new .../'
46 cat <<End-of-File >$tmp/01
48 probe sample.long.ten ? include : exclude
50 ident this one contains no errors
54 # real QA test starts here
56 pmlogconf
-d $tmp $tmp.conf \
59 echo "--- start initial config file ---"
60 cat $tmp.conf | _filter
61 echo "--- end initial config file ---"
64 echo "=== bad condition in probe clause ==="
65 cat <<End-of-File >$tmp/02
67 probe sample.ulong.ten bozo ? include : exclude
71 ( echo q
; echo '') | pmlogconf
-v -d $tmp $tmp.conf \
75 echo "=== missing val in probe condition ==="
76 cat <<End-of-File >$tmp/02
78 probe sample.ulong.ten == ? include : exclude
82 ( echo q
; echo '') | pmlogconf
-v -d $tmp $tmp.conf \
86 echo "=== bad keyword in probe state rule ==="
87 cat <<End-of-File >$tmp/02
89 probe sample.ulong.ten exists ? include : foo
93 ( echo q
; echo '') | pmlogconf
-v -d $tmp $tmp.conf \
97 echo "=== missing : probe state rule ==="
98 cat <<End-of-File >$tmp/02
100 probe sample.ulong.ten exists ? include exclude
104 ( echo q
; echo '') | pmlogconf
-v -d $tmp $tmp.conf \
108 echo "=== bad probe state rule ==="
109 cat <<End-of-File >$tmp/02
111 probe sample.ulong.ten exists ? include ! exclude
115 ( echo q
; echo '') | pmlogconf
-v -d $tmp $tmp.conf \
119 echo "=== extra text in probe state rule ==="
120 cat <<End-of-File >$tmp/02
122 probe sample.ulong.ten exists ? include : exclude foo
126 ( echo q
; echo '') | pmlogconf
-v -d $tmp $tmp.conf \
130 echo "=== bad force clause ==="
131 cat <<End-of-File >$tmp/02
137 ( echo q
; echo '') | pmlogconf
-v -d $tmp $tmp.conf \
140 echo "--- start final config file ---"
141 cat $tmp.conf | _filter
142 echo "--- end final config file ---"