pmrep: fix archive end time reporting
[pcp.git] / qa / 245
blob3715e64177f43dea0aa44f16c3e8dd65a8a09e5d
1 #! /bin/sh
2 # PCP QA Test No. 245
3 # exercise new pmnsdel
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
15 status=0
16 trap "cd $here; rm -rf $tmp.*; exit \$status" 0 1 2 3 15
18 # real QA test starts here
19 mkdir $tmp.dir
20 cd $tmp.dir
21 echo 'root {
22 }' >null
23 echo 'root {
24 one 1:1:1
25 }' >one
27 echo "+++ Errors +++"
29 echo
30 echo "=== no args ==="
31 pmnsdel
33 echo
34 echo "=== no such PMNS file ==="
35 pmnsdel -n no-such-input fumble
37 echo
38 echo "=== cannot open existing output file for writing ==="
39 cp one mypmns
40 chmod u-w mypmns
41 pmnsdel -n mypmns one
42 rm -f mypmns
44 echo
45 echo "=== cannot create output file ==="
46 cp one mypmns
47 chmod u-w .
48 pmnsdel -n mypmns one
49 chmod u+w .
50 rm -f mypmns
52 echo
53 echo "=== syntax error in input ==="
54 echo 'root {
55 bogus - this is not correct
56 }' >mypmns
57 pmnsdel -n mypmns bogus
59 echo 'root {
60 one 1:1:1
61 sub0
62 two 2:2:2
63 three 3:3:3
64 sub1
66 sub0 {
67 four 4:4:4
68 sub2
69 five 5:5:5
71 sub1 {
72 six 6:6:6
73 eight 8:8:8
75 sub0.sub2 {
76 seven 7:7:7
77 sub4
79 sub0.sub2.sub4 {
80 sub6
82 sub0.sub2.sub4.sub6 {
83 nine 9:9:9
84 }' >foo
86 pminfo -n foo -m | LC_COLLATE=POSIX sort >base.out
87 echo
88 echo "+++ Common starting PMNS for all remaing tests ..."
89 cat base.out
91 echo
92 echo "=== assorted undefined metricpaths ==="
93 cp foo mypmns
94 pmnsdel -n mypmns leaf
95 pmnsdel -n mypmns sub0.no_leaf
96 pmnsdel -n mypmns sub0.sub2.no_leaf
97 pmnsdel -n mypmns sub0.sub2.sub4.no_leaf
98 pmnsdel -n mypmns sub0.sub2.sub4.sub6.no_leaf
99 pmnsdel -n mypmns sub0.sub2.sub4.sub6.no_nonleaf.no_leaf
101 echo
102 echo "+++ Operations +++"
104 echo
105 echo "=== single metric ==="
106 for metric in one sub0.sub2.sub4.sub6.nine sub0.sub2.seven
108 echo $metric:
109 cp foo mypmns
110 pmnsdel -n mypmns $metric
111 echo "diffs ..."
112 pminfo -n mypmns -m | LC_COLLATE=POSIX sort | diff base.out -
113 done
115 echo
116 echo "=== multiple metrics ==="
117 for metric in "one sub0.sub2.sub4.sub6.nine sub0.sub2.seven"
119 echo "delete: $metric"
120 cp foo mypmns
121 pmnsdel -n mypmns $metric
122 echo "diffs ..."
123 pminfo -n mypmns -m | LC_COLLATE=POSIX sort | diff base.out -
124 done
126 echo
127 echo "=== non-leaves ==="
128 for metric in sub0 sub1 sub0.sub2 sub0.sub2.sub4 sub0.sub2.sub4.sub6 \
129 sub0.sub2 \
130 "sub1 sub0.sub2.sub4.sub6 sub0 "
132 echo "delete: $metric"
133 cp foo mypmns
134 pmnsdel -n mypmns $metric
135 echo "diffs ..."
136 pminfo -n mypmns -m | LC_COLLATE=POSIX sort | diff base.out -
137 done
139 echo
140 echo "=== all leaves ==="
141 cp foo mypmns
142 metric=`pminfo -n mypmns | sed -e '/^event\./d' | tr '\012' ' '`
143 echo "delete: $metric"
144 pmnsdel -n mypmns $metric
145 echo "diffs ..."
146 pminfo -n mypmns -m | LC_COLLATE=POSIX sort | diff base.out -
148 # all done
149 exit