diff options
Diffstat (limited to 'qa/248')
-rwxr-xr-x | qa/248 | 84 |
1 files changed, 84 insertions, 0 deletions
@@ -0,0 +1,84 @@ +#! /bin/sh +# PCP QA Test No. 248 +# is pmlogger tolerant of metric lookup within a group? +# +# Copyright (c) 2014 Red Hat. +# 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 + +rm -f $seq.out $seq.full +if [ $PCP_VER -ge 3810 ] +then + ln $seq.out.2 $seq.out +else + ln $seq.out.1 $seq.out +fi + +status=1 # failure by default +trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15 + +_filter_dump() +{ + _filter_pmdumplog \ + | sed \ + -e '/^$/d' \ + -e '/pmResult/s/ .* numpmid/ ... numpmid/' \ + -e '/value /{ +s/value [0-9][0-9]*\.[0-9][0-9]*e.[0-9][0-9]*/value NUMBER/ +s/value [0-9][0-9]*\.[0-9][0-9]*/value NUMBER/ +s/value [0-9][0-9]*e.[0-9][0-9]*/value NUMBER/ +s/value [0-9][0-9]*/value NUMBER/ +s/value \[.*]/value AGGREGATE/ +s/value ".*"/value STRING/ +}' \ + -e "/pmcd\.pmlogger\./s/$logger_pid/LOGGER_PID/g" \ + -e '/pmcd\.pmlogger\.port/s/value .*/value PORT/' \ + -e '/pmcd\.pmlogger\.host/s/value ".*/value "HOST"/' \ + -e '/pmcd\.pmlogger\.archive/s/value ".*/value "PATH"/' +} + +# real QA test starts here + +cat <<End-of-File >$tmp.config +log advisory on 200 msec { + sample.daemon_pid + sample.no.such.metric + sample.milliseconds + sample.bin +} +log advisory on 200 msec { + sample.bad.unknown + sample.milliseconds + sample.daemon_pid +} +log advisory on 200 msec { + sample.daemon_pid + sample.bad.unknown # last one in group does it? +} +End-of-File + +pmlogger -c $tmp.config -s 6 -l $tmp.log $tmp >$tmp.err 2>&1 & +logger_pid=$! +wait + +cat $tmp.err $tmp.log \ +| tee -a $seq.full \ +| _filter_pmlogger_log \ +| sed \ + -e "s;$tmp.config;CONFIG;g" \ + -e 's/line [34]]/line 3-or-4]/' \ + -e 's/line [89]]/line 8-or-9]/' \ + -e 's/line 1[45]]/line 14-or-15]/' + +pmdumplog $tmp | _filter_dump + +# all done, success +status=0 +exit |