summaryrefslogtreecommitdiff
path: root/qa/019
diff options
context:
space:
mode:
Diffstat (limited to 'qa/019')
-rwxr-xr-xqa/019164
1 files changed, 164 insertions, 0 deletions
diff --git a/qa/019 b/qa/019
new file mode 100755
index 0000000..e2f4b06
--- /dev/null
+++ b/qa/019
@@ -0,0 +1,164 @@
+#! /bin/sh
+# PCP QA Test No. 019
+# Exercse optional PMDA availability for PM_CONTEXT_LOCAL
+#
+# Copyright (c) 1995-2002 Silicon Graphics, Inc. All Rights Reserved.
+#
+
+seq=`basename $0`
+
+rm -f $seq.out
+. ./localconfig
+rm -f $seq.out
+if [ $PCP_PLATFORM = linux ]
+then
+ if [ $PCP_VER -lt 3103 ]
+ then
+ ln $seq.linux.1 $seq.out || exit 1
+ else
+ # proc metrics may not be available
+ #
+ if pminfo proc.nprocs >/dev/null 2>&1
+ then
+ # available, but if not a DSO agent, then pminfo -L will
+ # know about the metric, but not find the PMDA
+ #
+ type=`pminfo -f pmcd.agent.type | sed -n -e '/"proc"/{
+s/.*value //
+p
+}'`
+ case "$type"
+ in
+ 0) # DSO
+ ln $seq.linux.2 $seq.out || exit 1
+ ;;
+ 2|4)# daemon
+ ln $seq.linux.4 $seq.out || exit 1
+ ;;
+ *)
+ echo "Botch ... don't understand proc PMDA type ($type)"
+ pminfo -f pmcd.agent.type
+ exit 1
+ ;;
+ esac
+ else
+ ln $seq.linux.3 $seq.out || exit 1
+ fi
+ fi
+elif [ $PCP_PLATFORM = darwin ]
+then
+ ln $seq.darwin $seq.out || exit 1
+elif [ $PCP_PLATFORM = solaris ]
+then
+ ln $seq.solaris $seq.out || exit 1
+else
+ echo "Error: no validated output for $PCP_PLATFORM"
+ exit 1
+fi
+
+echo "QA output created by $seq"
+
+# get standard filters
+. ./common.product
+. ./common.filter
+
+trap "rm -f $tmp.*; exit 0" 0 1 2 3 15
+
+_filter()
+{
+ sed -e '/using .* kmem interface/d' \
+ | _filter_pmcd_log
+}
+
+# real QA test starts here
+
+# neither
+unset PCP_LITE_SAMPLE
+unset PMDA_LOCAL_SAMPLE
+unset PMDA_LOCAL_PROC
+echo "*** This should fail"
+echo "PCP_LITE_SAMPLE=$PCP_LITE_SAMPLE PMDA_LOCAL_SAMPLE=$PMDA_LOCAL_SAMPLE"
+pminfo -K clear -L -f 2>&1 \
+ sampledso.bin sampledso.long sampledso.longlong \
+ sampledso.float sampledso.double sampledso.string sampledso.aggregate \
+| _filter
+
+# PCP_LITE_SAMPLE set
+echo
+echo "*** This should work"
+PCP_LITE_SAMPLE=yes
+export PCP_LITE_SAMPLE
+echo "PCP_LITE_SAMPLE=$PCP_LITE_SAMPLE PMDA_LOCAL_SAMPLE=$PMDA_LOCAL_SAMPLE"
+$sudo pminfo -L -f 2>&1 \
+ sampledso.bin sampledso.long sampledso.longlong \
+ sampledso.float sampledso.double sampledso.string sampledso.aggregate \
+| _filter
+unset PCP_LITE_SAMPLE
+
+# PMDA_LOCAL_SAMPLE set
+echo
+echo "*** This should work"
+PMDA_LOCAL_SAMPLE=yes
+export PMDA_LOCAL_SAMPLE
+echo "PCP_LITE_SAMPLE=$PCP_LITE_SAMPLE PMDA_LOCAL_SAMPLE=$PMDA_LOCAL_SAMPLE"
+$sudo pminfo -L -f 2>&1 \
+ sampledso.bin sampledso.long sampledso.longlong \
+ sampledso.float sampledso.double sampledso.string sampledso.aggregate \
+| _filter
+unset PMDA_LOCAL_SAMPLE
+
+# both set
+echo
+echo "*** This should work"
+PMDA_LOCAL_SAMPLE=yes
+PCP_LITE_SAMPLE=yes
+export PMDA_LOCAL_SAMPLE PCP_LITE_SAMPLE
+echo "PCP_LITE_SAMPLE=$PCP_LITE_SAMPLE PMDA_LOCAL_SAMPLE=$PMDA_LOCAL_SAMPLE"
+$sudo pminfo -L -f 2>&1 \
+ sampledso.bin sampledso.long sampledso.longlong \
+ sampledso.float sampledso.double sampledso.string sampledso.aggregate \
+| _filter
+unset PMDA_LOCAL_SAMPLE PCP_LITE_SAMPLE
+
+# neither set
+echo
+echo "*** This should 1/3 work, proc[no] irix[yes] sampledso[n]"
+echo "PCP_LITE_SAMPLE=$PCP_LITE_SAMPLE PMDA_LOCAL_SAMPLE=$PMDA_LOCAL_SAMPLE"
+$sudo pminfo -K clear -L -f 2>&1 \
+ proc.nprocs kernel.all.cpu.idle kernel.all.load sampledso.float \
+| _filter \
+| sed -e '/value /{
+s/value -*[0-9][0-9]*\.[0-9][0-9]*/value NUMBER/g
+s/value -*[0-9][0-9]*/value NUMBER/g
+}'
+
+# PMDA_LOCAL_SAMPLE set
+echo
+echo "*** This should 2/3 work, proc[no] irix[yes] sampledso[yes]"
+PMDA_LOCAL_SAMPLE=yes
+echo "PMDA_LOCAL_SAMPLE=$PMDA_LOCAL_SAMPLE"
+export PMDA_LOCAL_SAMPLE
+$sudo pminfo -L -f 2>&1 \
+ proc.nprocs kernel.all.cpu.idle kernel.all.load sampledso.float \
+| _filter \
+| sed -e '/value /{
+s/value -*[0-9][0-9]*\.[0-9][0-9]*/value NUMBER/g
+s/value -*[0-9][0-9]*/value NUMBER/g
+}'
+unset PMDA_LOCAL_SAMPLE
+
+# PMDA_LOCAL_SAMPLE and PMDA_LOCAL_PROC set
+echo
+echo "*** This should work, proc[yes] irix[yes] sampledso[yes]"
+PMDA_LOCAL_SAMPLE=yes
+PMDA_LOCAL_PROC=yes
+echo "PMDA_LOCAL_SAMPLE=$PMDA_LOCAL_SAMPLE PMDA_LOCAL_PROC=$PMDA_LOCAL_PROC"
+export PMDA_LOCAL_SAMPLE PMDA_LOCAL_PROC
+$sudo pminfo -L -f 2>&1 \
+ proc.nprocs kernel.all.cpu.idle kernel.all.load sampledso.float \
+| _filter \
+| sed -e '/value /{
+s/value -*[0-9][0-9]*\.[0-9][0-9]*/value NUMBER/g
+s/value -*[0-9][0-9]*/value NUMBER/g
+}'
+unset PMDA_LOCAL_SAMPLE PMDA_LOCAL_PROC