blob: 36780fa664e6e463b816a02e9c9705dc25b3f1bb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
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
|