diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 |
commit | 47e6e7c84f008a53061e661f31ae96629bc694ef (patch) | |
tree | 648a07f3b5b9d67ce19b0fd72e8caa1175c98f1a /qa/203 | |
download | pcp-debian.tar.gz |
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'qa/203')
-rwxr-xr-x | qa/203 | 105 |
1 files changed, 105 insertions, 0 deletions
@@ -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 "" + }' + + |