summaryrefslogtreecommitdiff
path: root/qa/248
diff options
context:
space:
mode:
Diffstat (limited to 'qa/248')
-rwxr-xr-xqa/24884
1 files changed, 84 insertions, 0 deletions
diff --git a/qa/248 b/qa/248
new file mode 100755
index 0000000..80ab6df
--- /dev/null
+++ b/qa/248
@@ -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