pmrep: fix archive end time reporting
[pcp.git] / qa / 213
blobb9d0dc2a60d517bffe442c4de97c2f70bd1c6ff0
1 #! /bin/sh
2 # PCP QA Test No. 213
3 # exercise dbpmda with dynamic metrics
5 # Copyright (c) 2009 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 if echo help | dbpmda | grep -q children
17 then
19 else
20 echo "No dynamic metric support in dbpmda" >$seq.notrun
21 echo "$seq: [not run] `cat $seq.notrun`"
22 exit 0
25 status=0 # success is the default!
26 username=`id -u -n`
27 $sudo rm -rf $tmp.* $seq.full
28 trap "_cleanup; exit \$status" 0 1 2 3 15
29 culldir=false
31 _cleanup()
33 rm -f $tmp.*
34 $sudo rm -f $files
35 $culldir && $sudo rm -fr "$PCP_TMP_DIR/mmv"
38 # is a pre-existing mmv directory in place? if so, write access needed
39 if [ -d "$PCP_TMP_DIR/mmv" ]
40 then
41 [ -w "$PCP_TMP_DIR/mmv" ] || _notrun "Cannot write to $PCP_TMP_DIR/mmv"
42 $sudo rm -rf $PCP_TMP_DIR/mmv/*
43 else
44 culldir=true
45 $sudo mkdir -p "$PCP_TMP_DIR/mmv"
46 $sudo chown `whoami` "$PCP_TMP_DIR/mmv" # local user - tmpdir writing
47 $sudo chgrp $PCP_GROUP "$PCP_TMP_DIR/mmv" # group pcp - pmdammv reading
50 _filter()
52 tee -a $seq.full \
53 | sed \
54 -e "s;$PCP_PMDAS_DIR;\$PCP_PMDAS_DIR;" \
55 -e "s;$PCP_TMP_DIR;\$PCP_TMP_DIR;" \
56 -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/' \
57 -e 's/dbpmda([0-9][0-9]*)/dbpmda(PID)/' \
58 -e "s/ -U $username//g" \
59 -e "s/\.$DSO_SUFFIX/.DSO_SUFFIX/g" \
60 | _filter_dumpresult
63 pipeargs=""
64 id pcp >/dev/null 2>&1 && pipeargs="-U $username"
66 # real QA test starts here
67 echo "=== DSO PMDA test ==="
68 cat <<End-of-File | dbpmda -ei 2>&1 | _filter
69 open dso $PCP_PMDAS_DIR/sample/pmda_sample.$DSO_SUFFIX sample_init 30
70 name 30.0.1001
71 name 30.0.1007
72 name 2.4.1
73 pmid sampledso.secret.foo.two
74 pmid sampledso.secret.foo.bar.grunt.snort.six
75 pmid sampledso.secret.foo.bar.max.redirect
76 children sampledso.secret.foo
77 traverse sampledso.secret.foo
78 children sampledso.secret.foo.bar
79 traverse sampledso.secret.foo.bar
80 End-of-File
82 echo
83 echo "=== Daemon PMDA test ==="
84 cat <<End-of-File | dbpmda -ei 2>&1 | _filter
85 open pipe $PCP_PMDAS_DIR/sample/pmdasample $pipeargs 29
86 name 29.0.1001
87 name 29.0.1007
88 name 2.4.1
89 pmid sample.secret.foo.two
90 pmid sample.secret.foo.bar.grunt.snort.six
91 pmid sample.secret.foo.bar.max.redirect
92 children sample.secret.foo
93 traverse sample.secret.foo
94 children sample.secret.foo.bar
95 traverse sample.secret.foo.bar
96 End-of-File
98 echo
99 echo "=== MMV PMDA test ==="
100 src/mmv_genstats
101 echo "installed mmv files ..."
102 find $PCP_TMP_DIR/mmv -type f | sed -e "s;$PCP_TMP_DIR;PCP_TMP_DIR;"
103 cat <<End-of-File >$tmp.pmns
104 root {
105 mmv 70:*:*
107 End-of-File
108 cat <<End-of-File | dbpmda -ei -n $tmp.pmns 2>&1 | _filter
109 desc mmv.test.strings
110 fetch mmv.test.strings mmv.test.counter
111 text mmv.test.strings
112 store mmv.control.reload "1"
113 open pipe $PCP_PMDAS_DIR/mmv/pmdammv $pipeargs
114 desc mmv.test.strings
115 fetch mmv.test.strings mmv.test.counter
116 text mmv.test.strings
117 store mmv.control.reload "1"
118 desc mmv.no.such.metric
119 close
120 open dso $PCP_PMDAS_DIR/mmv/pmda_mmv.$DSO_SUFFIX mmv_init 70
121 desc mmv.test.strings
122 fetch mmv.test.strings mmv.test.counter
123 text mmv.test.strings
124 store mmv.control.reload "1"
125 End-of-File
127 # success, all done
128 exit