#! /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