summaryrefslogtreecommitdiff
path: root/qa/299
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2014-10-26 12:33:50 +0400
committerIgor Pashev <pashev.igor@gmail.com>2014-10-26 12:33:50 +0400
commit47e6e7c84f008a53061e661f31ae96629bc694ef (patch)
tree648a07f3b5b9d67ce19b0fd72e8caa1175c98f1a /qa/299
downloadpcp-47e6e7c84f008a53061e661f31ae96629bc694ef.tar.gz
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'qa/299')
-rwxr-xr-xqa/299119
1 files changed, 119 insertions, 0 deletions
diff --git a/qa/299 b/qa/299
new file mode 100755
index 0000000..36780fa
--- /dev/null
+++ b/qa/299
@@ -0,0 +1,119 @@
+#! /bin/sh
+# PCP QA Test No. 299
+# exercise pmParseMetricSpec
+#
+# Copyright (c) 1995-2002 Silicon Graphics, Inc. All Rights Reserved.
+#
+
+seq=`basename $0`
+echo "QA output created by $seq"
+
+rm -f $seq.out
+. ./localconfig
+if [ $PCP_PLATFORM = irix -a $PCP_EOE_VER -le 6510 ]
+then
+ ln $seq.out.1 $seq.out
+elif [ $PCP_EOE_VER -lt 2704 ]
+then
+ ln $seq.out.2 $seq.out
+else
+ ln $seq.out.3 $seq.out
+fi
+
+# get standard filters
+. ./common.product
+. ./common.filter
+. ./common.check
+
+status=1 # failure is the default!
+trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
+
+_x()
+{
+ echo
+ src/parsemetricspec "sample$1" 1 default_arch
+ echo
+ src/parsemetricspec "sample$1" 0 default_host
+ echo
+ src/parsemetricspec "my_arch/sample$1" 1 default_arch
+ echo
+ src/parsemetricspec "my_host:sample$1" 0 default_host
+ echo
+ src/parsemetricspec "other_host:sample$1" 1 default_arch
+ echo
+ src/parsemetricspec "/other/arch/sample$1" 0 default_host
+ echo
+ src/parsemetricspec "@:sample$1" 0 default_host
+}
+
+# real QA test starts here
+echo "=== No instance and no error cases ==="
+_x
+
+echo
+echo "=== One instance and no error cases ==="
+_x '[singular]'
+
+echo
+echo "=== Multiple instances and no error cases ==="
+_x '[one,two,three]'
+
+echo
+echo "=== Some whitespace cases ==="
+echo
+src/parsemetricspec " my_host : sample [ one , two , three ] " 0 default_host
+echo
+src/parsemetricspec "my_arch / sample [singular]" 1 default_arch
+
+echo
+echo "=== Miscellaneous cases ==="
+echo
+src/parsemetricspec "../../relative/pathname/myarch/metric" 0 default_host
+echo
+src/parsemetricspec "metric.a.b.c.d[]" 0 default_host
+echo
+src/parsemetricspec "/full/pathname/myarch/metric[fumble mumble]" 0 default_host
+echo
+src/parsemetricspec "./myarch/metric[fumble,,mumble]" 0 default_host
+echo
+src/parsemetricspec 'foo["instance with strange chars :/,[]\""]' 0 default_host
+echo
+src/parsemetricspec '20080424:12:05/disk.dev.total["sda1"]' 0 default_host
+echo
+src/parsemetricspec '20080424:12:05/disk.all.total' 0 default_host
+
+echo
+echo "=== Some odd cases (incorrectly used to be classified as errors) ==="
+echo
+src/parsemetricspec "one/two:three" 0 default_host
+echo
+src/parsemetricspec "foo:bar/fumble[mumble]" 0 default_host
+
+echo
+echo "=== Some error cases ==="
+echo
+src/parsemetricspec "foo/bar[fumble]mumble" 0 default_host
+echo
+src/parsemetricspec foo: 0 default_host
+echo
+src/parsemetricspec :badhost 0 default_host
+echo
+src/parsemetricspec bad/arch/ 0 default_host
+echo
+src/parsemetricspec '/bad/arch/[' 0 default_host
+echo
+src/parsemetricspec 'norsqb[' 0 default_host
+echo
+src/parsemetricspec 'nolsqb-instance]' 0 default_host
+echo
+src/parsemetricspec 'metric["noclosingquote' 0 default_host
+echo
+src/parsemetricspec 'metric["noclosingquote]' 0 default_host
+echo
+src/parsemetricspec 'metric["noclosing]"' 0 default_host
+echo
+src/parsemetricspec 'metric["ends in backslash\' 0 default_host
+
+# success, all done
+status=0
+exit