summaryrefslogtreecommitdiff
path: root/qa/203
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2014-10-26 12:33:50 +0400
committerIgor Pashev <pashev.igor@gmail.com>2014-10-26 12:33:50 +0400
commit47e6e7c84f008a53061e661f31ae96629bc694ef (patch)
tree648a07f3b5b9d67ce19b0fd72e8caa1175c98f1a /qa/203
downloadpcp-debian.tar.gz
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'qa/203')
-rwxr-xr-xqa/203105
1 files changed, 105 insertions, 0 deletions
diff --git a/qa/203 b/qa/203
new file mode 100755
index 0000000..170c00a
--- /dev/null
+++ b/qa/203
@@ -0,0 +1,105 @@
+#! /bin/sh
+# PCP QA Test No. 203
+# pmlogextract, then pmlogextract again (nested mark record processing)
+#
+# 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
+
+trap "rm -f $tmp.*; exit" 0 1 2 3 15
+
+# real QA test starts here
+_filter()
+{
+ pmdumplog $1 \
+ | $PCP_AWK_PROG '
+/<mark>/ { mark++; next }
+/^[0-9][0-9]:[0-9][0-9]:[0-9][0-9]\./ { rec++ }
+END { printf "%d records",rec
+ if (mark) printf ", and %d marks",mark
+ print ""
+ }'
+ pmdumplog $1 \
+ | $PCP_AWK_PROG >$1.stamp '
+/<mark>/ { print $1 "-mark"; next }
+/^[0-9][0-9]:[0-9][0-9]:[0-9][0-9]\./ { print $1 }'
+}
+
+# real QA test starts here
+rm -f $tmp.A.*
+echo "log mandatory on 20 msec sample.milliseconds" \
+| pmlogger -s 4 $tmp.A >/dev/null 2>&1
+echo
+echo log.A
+_filter $tmp.A
+
+rm -f $tmp.B.*
+echo "log mandatory on 25 msec sample.milliseconds" \
+| pmlogger -s 5 $tmp.B >/dev/null 2>&1
+echo
+echo log.B
+_filter $tmp.B
+
+rm -f $tmp.C.*
+pmlogextract $tmp.A $tmp.B $tmp.C
+echo
+echo "log.C == pmlogextract log.A log.B"
+_filter $tmp.C
+
+echo
+echo "mismatch timestamps"
+cat $tmp.A.stamp $tmp.B.stamp \
+| comm -3 - $tmp.C.stamp \
+| sed -e 's/[0-9][0-9]:[0-9][0-9]:[0-9][0-9]\.[0-9][0-9][0-9]/timestamp/g'
+
+echo
+echo "pmval [no interpolate] ..."
+rm -f $seq.full
+pmval -U $tmp.C sample.milliseconds 2>&1 \
+| tee $seq.full \
+| $PCP_AWK_PROG '
+/suspended/ { mark++; next }
+/^[0-9][0-9]:[0-9][0-9]:[0-9][0-9]\./ { rec++ }
+END { printf "%d records",rec
+ if (mark) printf ", and %d marks",mark
+ print ""
+ }'
+
+rm -f $tmp.D.*
+echo "log mandatory on 20 msec sample.milliseconds" \
+| pmlogger -s 6 $tmp.D >/dev/null 2>&1
+echo
+echo log.D
+_filter $tmp.D
+
+rm -f $tmp.E.*
+pmlogextract $tmp.C $tmp.D $tmp.E
+echo
+echo "log.E == pmlogextract log.C log.D"
+_filter $tmp.E
+
+echo
+echo "mismatch timestamps"
+cat $tmp.C.stamp $tmp.D.stamp \
+| comm -3 - $tmp.E.stamp \
+| sed -e 's/[0-9][0-9]:[0-9][0-9]:[0-9][0-9]\.[0-9][0-9][0-9]/timestamp/g'
+
+echo
+echo "pmval [no interpolate] ..."
+pmval -U $tmp.E sample.milliseconds 2>&1 \
+| tee -a $seq.full \
+| $PCP_AWK_PROG '
+/suspended/ { mark++; next }
+/^[0-9][0-9]:[0-9][0-9]:[0-9][0-9]\./ { rec++ }
+END { printf "%d records",rec
+ if (mark) printf ", and %d marks",mark
+ print ""
+ }'
+
+