blob: ba24fccdf5d2477066bbc82c1a57b5239c82691e (
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
|
#! /bin/sh
# PCP QA Test No. 044
# check pmval and pminfo for numval == 0 and < 0
#
# 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
. ./common.check
_filter()
{
sed \
-e '/Warning.*license/d' \
-e "s/^host: .*/host: local:/g"
}
_doit()
{
$sudo rm -f core*
pmval -s 1 $m 2>$tmp.err | _filter
_filter <$tmp.err
case $1
in
proc.*)
# impossible pid
pmval -s 1 -i 123456789 $m 2>$tmp.err | _filter
_filter <$tmp.err
;;
esac
if [ "`echo core*`" != "core*" ]
then
echo "Arrgh, pmval dumped core"
ls -l core*
file core*
fi
$sudo rm -f core*
pminfo -f $m
if [ "`echo core*`" != "core*" ]
then
echo "Arrgh, pminfo dumped core"
ls -l core*
file core*
fi
}
rm -f $seq.out $seq.full
if [ $PCP_PLATFORM = linux ]
then
# proc metrics may not be available
#
if pminfo proc.nprocs >/dev/null 2>&1
then
have_proc=true
ln $seq.linux $seq.out
else
have_proc=false
ln $seq.linux.1 $seq.out
fi
elif [ $PCP_PLATFORM = darwin -o $PCP_PLATFORM = solaris ]
then
ln $seq.darwin $seq.out
elif [ $PCP_PLATFORM = irix ]
then
ln $seq.irix $seq.out
else
echo "Warning: no validated output for $PCP_PLATFORM"
fi
trap "rm -f $tmp.*; exit" 0 1 2 3 15
# real QA test starts here
for m in sample.noinst sampledso.needprofile \
proc.psinfo.pid proc.pstatus.syscall proc.pscred.ngroups \
proc.psusage.starttime proc.memory.physical.stack
do
case $m
in
proc.*)
[ $PCP_PLATFORM = linux ] && continue
[ $PCP_PLATFORM = darwin ] && continue
[ $PCP_PLATFORM = solaris ] && continue
;;
esac
_doit $m
done
if [ $PCP_PLATFORM = linux ] && $have_proc
then
# impossible pid
echo
pmval -s 1 -i 123456789 proc.psinfo.utime 2>$tmp.err | _filter
_filter <$tmp.err
echo
fi
_wait_for_pmcd
|