diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 |
commit | 47e6e7c84f008a53061e661f31ae96629bc694ef (patch) | |
tree | 648a07f3b5b9d67ce19b0fd72e8caa1175c98f1a /qa/019 | |
download | pcp-47e6e7c84f008a53061e661f31ae96629bc694ef.tar.gz |
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'qa/019')
-rwxr-xr-x | qa/019 | 164 |
1 files changed, 164 insertions, 0 deletions
@@ -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 |