summaryrefslogtreecommitdiff
path: root/qa/703
blob: cd4f70d2e2be164ab9c02edb645e739053bf4509 (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. 703
# weblog PMDA install/remove test
#
# Copyright (c) 1995-2002 Silicon Graphics, Inc.  All Rights Reserved.
#

seq=`basename $0`
echo "QA output created by $seq"

# get standard filters
. ./common.filter
. ./common.check
. ./common.pcpweb

[ -d $PCP_PMDAS_DIR/weblog ] || _notrun "weblog PMDA not installed"

if [ $PCP_PLATFORM = solaris ]
then
    _notrun "weblog PMDA won't work for Solaris Apache install"
fi

rm -f $seq.out
if [ $PCP_VER -lt 3600 ]
then
    ln $seq.out.1 $seq.out || exit 1
else
    ln $seq.out.2 $seq.out || exit 1
fi

status=1	# failure is the default!

_cleanup()
{
    _restore_state
    rm -f $tmp.*
    exit $status
}
trap _cleanup 0 1 2 3 15

_pminfo_filter()
{
    # *.(cached|uncached|client).* might have no values available
    sed -e '
        /\.cached\...* No value(s) available/d
        /\.uncached\...* No value(s) available/d
        /\.client\...* No value(s) available/d
    '
}

_filter()
{
    sed '
        s/[ 	][ 	]*/ /g;
	s/ weblog metrics / web metrics /;
	/Updating the Performance Metrics Name /,/of symbol table/d;
	/Check web metrics have gone away/d;
        /^---*$/d;
	/Culling the Performance Metrics Name/,/ done/d;
	/make: Nothing to be done for .install./d;
        /Installing files \.\.\./d;
        /Removing files \.\.\./d;
    ' | $PCP_AWK_PROG '
skip == 1 && /^Found/			{ skip = 0 }
skip == 2 && /^A configuration file can be automatically generated/	{
					  print ""
					  print
					  skip = 0
					  next
					}
skip == 0 && /Do you want a default weblog PMDA installation/		{
					  print
					  skip = 1
					  next
					}
skip == 0 && / Server\./		{ print "... some server(s) found ..."
					  skip = 2
					  next
					}
skip > 0				{ next }
/Check web metrics have appeared /	{ next }
					{ print }'
}

# real QA test starts here

rm -f $seq.full
_save_state
_remove_pmda weblog > /dev/null

echo "=== install weblog PMDA ===" | tee -a $seq.full
_install_pmda weblog | tee -a $seq.full | _filter | $PCP_AWK_PROG '
/Installing pmchart view/	{ skip = 0; next }
/Terminate PMDA if already installed/	{ skip = 0 }
skip == 1	{ next }
/^Found /	{ print "Found at least one server ..."
		  skip = 1
		  next
		}
		{ print }'
                
echo "=== check metrics (expect no output) ===" 

pminfo -v web | tee -a $seq.full | _pminfo_filter

pminfo -v web > /dev/null                       || _fail "install failed?"
[ `_pmcount web` -ge 69 ]                       || _fail "Too few metrics?"
[ `_pmget web.config.numservers` -ge 1 ]        || _fail "No servers found?"

echo "=== remove weblog PMDA ==="
_remove_pmda weblog | _filter

echo
echo "=== Checking uninstall (expect no output) ==="
ps $PCP_PS_ALL_FLAGS | grep '[p]mdaweblog'
pmprobe web 2>&1 | $PCP_AWK_PROG '$2 > 0	{ print "Oops ...",$0 }'

status=0
exit