diff options
Diffstat (limited to 'qa/717')
-rwxr-xr-x | qa/717 | 105 |
1 files changed, 105 insertions, 0 deletions
@@ -0,0 +1,105 @@ +#! /bin/sh +# PCP QA Test No. 717 +# Basic checkout of the Python pmdasimple implementation. +# +# Copyright (c) 2013 Red Hat. +# + +seq=`basename $0` +echo "QA output created by $seq" + +# get standard filters +. ./common.product +. ./common.filter +. ./common.check + +python -c "from pcp import pmda" >/dev/null 2>&1 +[ $? -eq 0 ] || _notrun "python pcp pmda module not installed" +test -f "$PCP_PMDAS_DIR/simple/pmdasimple.python" +[ $? -eq 0 ] || _notrun "python simple pmda not yet installed" + +status=1 +done_clean=false +rm -f $seq.full + +_cleanup() +{ + if $done_clean + then + : + else + [ -f $tmp.pmcd.conf ] && $sudo mv $tmp.pmcd.conf $PCP_PMCDCONF_PATH + rm -f $tmp.* + $sudo $PCP_RC_DIR/pcp restart | _filter_pcp_start + _wait_for_pmcd + _wait_for_pmlogger + done_clean=true + fi + exit $status +} + +trap "_cleanup" 0 1 2 3 15 + +# real QA test starts here +iam=simple +cd $PCP_PMDAS_DIR/$iam + +# copy the pmcd config file to restore state later. +cp $PCP_PMCDCONF_PATH $tmp.pmcd.conf + +# start from a known starting point +$sudo ./Remove >/dev/null 2>&1 + +echo +echo "=== $iam agent installation ===" +cat << End-of-File | $sudo ./Install >$tmp.out 2>&1 +both +python +End-of-File +# Check simple metrics have appeared ... X metrics and Y values +_filter_pmda_install <$tmp.out \ +| sed \ + -e '/^Waiting for pmcd/s/\.\.\.[. ]*$/DOTS/' + +check() +{ + iter=$1 + name=$2 + + echo "fetch pmprobe #$iter - $name" | tee -a $here/$seq.full + pmprobe -v $iam > $tmp.pmprobe + cat $tmp.pmprobe >>$here/$seq.full + + echo "check pmprobe #$iter - $name" | tee -a $here/$seq.full + cat $tmp.pmprobe \ + | while read metric nv v1 + do + if [ "$metric" = "simple.numfetch" ] + then + echo "$metric shows $nv value(s), $v1 fetches so far" + else + echo "$metric shows $nv value(s)" + fi + done +} + +echo +echo "=== fetch and check values ===" +echo sec,min,hour > $tmp.conf && $sudo mv $tmp.conf simple.conf +check 1 defaults +echo sec,min > $tmp.conf && $sudo mv $tmp.conf simple.conf +check 2 twotimes +echo hour > $tmp.conf && $sudo mv $tmp.conf simple.conf +check 3 onetime +echo > $tmp.conf && $sudo mv $tmp.conf simple.conf +check 4 notime + +# reset the clock back to the start state +echo sec,min,hour > $tmp.conf && $sudo mv $tmp.conf simple.conf + +echo "=== remove $iam agent ===" +$sudo ./Remove >$tmp.out 2>&1 +_filter_pmda_remove <$tmp.out + +status=0 +exit |