#! /bin/sh # PCP QA Test No. 376 # libpcp_trace # # 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 _cleanup() { cd $here rm -f $tmp.* if [ -n "$savedtracehost" ] then PCP_TRACE_HOST=$savedtracehost; export PCP_TRACE_HOST fi if $_needclean then if $install_on_cleanup then ( cd $PCP_PMDAS_DIR/trace; $sudo ./Install /dev/null 2>&1 ) else ( cd $PCP_PMDAS_DIR/trace; $sudo ./Remove /dev/null 2>&1 ) fi _needclean=false fi exit $status } install_on_cleanup=false pminfo trace >/dev/null 2>&1 && install_on_cleanup=true status=1 # failure is the default! _needclean=true trap "_cleanup" 0 1 2 3 15 if [ -n "$PCP_TRACE_HOST" ] then savedtracehost=$PCP_TRACE_HOST; unset PCP_TRACE_HOST fi qahost=`hostname` _filter_trace_install() { # some warnings are *expected* - no trace values yet _filter_pmda_install | sed \ -e "s/$qahost/HOSTNAME/g" \ -e 's/ *[0-9]+ warnings,//g' } _tracefilter() { sed -e 's/^000:.*/[PDU BUFFER]/g' \ -e 's/from=[0-9].*/from=[PID]/g' \ -e 's/ free pdubuf.*/[FREE PDUBUF]/g' \ -e 's/^\[[0-9]*]/[PID]/g' \ -e 's/__pmtracefindPDUbuf.*/[FIND PDUBUF]/g' \ -e 's/ fd=[0-9][0-9]*/ fd=/g' } # real QA test starts here cd $PCP_PMDAS_DIR/trace $sudo ./Install -R / < /dev/null 2>&1 | _filter_trace_install _wait_for_pmcd cd $here for i in 1 2 3 4 do src/tstate $i 2>&1 | _tracefilter sts=$? if [ $sts -ne 0 ] then echo "=== Error: state check #$i failed ===" status=1 fi done # success, all done status=0 exit