diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 |
commit | 47e6e7c84f008a53061e661f31ae96629bc694ef (patch) | |
tree | 648a07f3b5b9d67ce19b0fd72e8caa1175c98f1a /qa/245 | |
download | pcp-debian.tar.gz |
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'qa/245')
-rwxr-xr-x | qa/245 | 153 |
1 files changed, 153 insertions, 0 deletions
@@ -0,0 +1,153 @@ +#! /bin/sh +# PCP QA Test No. 245 +# exercise new pmnsdel +# +# Copyright (c) 1995-2002 Silicon Graphics, Inc. All Rights Reserved. +# + +seq=`basename $0` +echo "QA output created by $seq" + +# get standard filters +. ./common.product +. ./common.filter + +status=0 +trap "cd $here; rm -rf $tmp.*; exit \$status" 0 1 2 3 15 + +# real QA test starts here +mkdir $tmp.dir +cd $tmp.dir +echo 'root { +}' >null +echo 'root { + one 1:1:1 +}' >one + +echo "+++ Errors +++" + +echo +echo "=== no args ===" +pmnsdel + +echo +echo "=== no such PMNS file ===" +pmnsdel -n no-such-input fumble + +echo +echo "=== cannot open existing output file for writing ===" +cp one mypmns +chmod u-w mypmns +pmnsdel -n mypmns one +rm -f mypmns + +echo +echo "=== cannot create output file ===" +cp one mypmns +chmod u-w . +pmnsdel -n mypmns one +chmod u+w . +rm -f mypmns + +echo +echo "=== syntax error in input ===" +echo 'root { +bogus - this is not correct +}' >mypmns +pmnsdel -n mypmns bogus + +echo 'root { + one 1:1:1 + sub0 + two 2:2:2 + three 3:3:3 + sub1 +} +sub0 { + four 4:4:4 + sub2 + five 5:5:5 +} +sub1 { + six 6:6:6 + eight 8:8:8 +} +sub0.sub2 { + seven 7:7:7 + sub4 +} +sub0.sub2.sub4 { + sub6 +} +sub0.sub2.sub4.sub6 { + nine 9:9:9 +}' >foo + +pminfo -n foo -m | LC_COLLATE=POSIX sort >base.out +echo +echo "+++ Common starting PMNS for all remaing tests ..." +cat base.out + +echo +echo "=== assorted undefined metricpaths ===" +cp foo mypmns +pmnsdel -n mypmns leaf +pmnsdel -n mypmns sub0.no_leaf +pmnsdel -n mypmns sub0.sub2.no_leaf +pmnsdel -n mypmns sub0.sub2.sub4.no_leaf +pmnsdel -n mypmns sub0.sub2.sub4.sub6.no_leaf +pmnsdel -n mypmns sub0.sub2.sub4.sub6.no_nonleaf.no_leaf + +echo +echo "+++ Operations +++" + +echo +echo "=== single metric ===" +for metric in one sub0.sub2.sub4.sub6.nine sub0.sub2.seven +do + echo $metric: + cp foo mypmns + pmnsdel -n mypmns $metric + echo "diffs ..." + pminfo -n mypmns -m | LC_COLLATE=POSIX sort | diff base.out - +done + +echo +echo "=== multiple metrics ===" +for metric in "one sub0.sub2.sub4.sub6.nine sub0.sub2.seven" +do + echo "delete: $metric" + cp foo mypmns + pmnsdel -n mypmns $metric + echo "diffs ..." + pminfo -n mypmns -m | LC_COLLATE=POSIX sort | diff base.out - +done + +echo +echo "=== non-leaves ===" +for metric in sub0 sub1 sub0.sub2 sub0.sub2.sub4 sub0.sub2.sub4.sub6 \ + sub0.sub2 \ + "sub1 sub0.sub2.sub4.sub6 sub0 " +do + echo "delete: $metric" + cp foo mypmns + pmnsdel -n mypmns $metric + echo "diffs ..." + pminfo -n mypmns -m | LC_COLLATE=POSIX sort | diff base.out - +done + +echo +echo "=== all leaves ===" +cp foo mypmns +if [ $PCP_VER -lt 3600 ] +then + pmnscomp -f -n mypmns mypmns.bin +fi +metric=`pminfo -n mypmns | tr '\012' ' '` +echo "delete: $metric" +pmnsdel -n mypmns $metric +echo "diffs ..." +pminfo -n mypmns -m | LC_COLLATE=POSIX sort | diff base.out - + +# all done +exit |