summaryrefslogtreecommitdiff
path: root/qa/270
diff options
context:
space:
mode:
Diffstat (limited to 'qa/270')
-rwxr-xr-xqa/270217
1 files changed, 217 insertions, 0 deletions
diff --git a/qa/270 b/qa/270
new file mode 100755
index 0000000..2ef1d02
--- /dev/null
+++ b/qa/270
@@ -0,0 +1,217 @@
+#! /bin/sh
+# PCP QA Test No. 270
+# Test `pmlogextract':
+# 1. one input file, one output file, no parameters - work
+# 2. one input file, one output file, -S, -T and -z parameters - work
+# (-S and -T are within the archive)
+# 3. one input file, one output file, -S and -z parameters - work
+# (-S is out of range)
+# 4. one input file, one output file, -T and -z parameters - work
+# (-T is out of range)
+# 5. one input file, one output file, -t parameter - work
+# 6. one input file, one output file, -c parameter - work
+# 7. one input file, one output file, -c, -S, -T & -z parameter - work
+# 8. one input file, one output file, -S, -T, -w & -z parameter - work
+#
+# 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
+
+status=1 # failure is the default!
+trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
+
+_check_output()
+{
+ [ $# != 1 ] && return
+ prog=$1
+
+ if [ -f $tmp.err ]
+ then
+ if [ -s $tmp.err ]
+ then
+ echo "Warning: $prog reported the following errors:"
+ cat $tmp.err | sed -e 's/tmp\/[0-9]*/tmp\/PID/'
+ echo
+ fi
+ else
+ echo "Warning: cannot find error file \"$tmp.err\"."
+ fi
+}
+
+
+# real QA test starts here
+echo "Test pmlogextract"
+
+
+# step 1
+rm -rf $tmp.arch*
+echo
+echo " --- step 1: no flags ---"
+echo "(output depends on src/mirage{0,index,meta})"
+pmlogextract src/mirage $tmp.arch >$tmp.out 2>$tmp.err
+_check_output pmlogextract
+pmdumplog -L -z $tmp.arch | sed -e '/^PID/s/: [0-9]*/: PID/'
+
+
+# step 2
+rm -rf $tmp.arch*
+echo
+echo " --- step 2: test -S, -T and -z flags ---"
+echo "(output depends on src/mirage{0,index,meta})"
+pmlogextract -S "@10:50:00" -T "@11:00:00" -z src/mirage $tmp.arch >$tmp.out 2>$tmp.err
+_check_output pmlogextract
+pmdumplog -L -z $tmp.arch | sed -e '/^PID/s/: [0-9]*/: PID/'
+
+
+# step 3
+rm -rf $tmp.arch*
+echo
+echo " --- step 3: test -S out of range ---"
+echo "(output depends on src/mirage{0,index,meta})"
+pmlogextract -S "@10:00:00" -z src/mirage $tmp.arch >$tmp.out 2>$tmp.err
+_check_output pmlogextract
+pmdumplog -L -z $tmp.arch | sed -e '/^PID/s/: [0-9]*/: PID/'
+
+
+# step 4
+rm -rf $tmp.arch*
+echo
+echo " --- step 4: test -T out of range ---"
+echo "(output depends on src/mirage{0,index,meta})"
+pmlogextract -T "@12:00:00" -z src/mirage $tmp.arch >$tmp.out 2>$tmp.err
+_check_output pmlogextract
+pmdumplog -L -z $tmp.arch | sed -e '/^PID/s/: [0-9]*/: PID/'
+
+
+# this was never implemented correctly .. skip it
+## step 5
+#rm -rf $tmp.arch*
+#echo
+#echo " --- step 5: test -t flag ---"
+#echo "(output depends on src/mirage{0,index,meta})"
+## update interval for "sample.drift" in src/mirage is 1 minute
+#pmlogextract -n src/root_irix -t "2min" src/mirage $tmp.arch >$tmp.out 2>$tmp.err1
+#cat $tmp.err1 \
+# | sed -e '/^Description unavailable/d' \
+# | sed -e '/^Reason:/d' \
+# | sed -e '/^Warning \[/d' > $tmp.err
+#_check_output pmlogextract
+#pmdumplog -m -z $tmp.arch sample.drift | sed -e '/^$/d'
+
+# step 6
+rm -rf $tmp.arch*
+rm -rf $tmp.config
+echo
+echo " --- step 6: test config file ---"
+echo "(output depends on src/mirage{0,index,meta})"
+# src/mirage contains "sample.bin", "sample.drift", & "sample.mirage"
+cat >$tmp.config <<'End-of-file'
+#
+# pmlogextract config file
+#
+sample.bin ["bin-300" "bin-700" "bin-100"] # out of order
+sample.drift
+sample.mirage ["m-00" "m-13" "m-17" "m-24"] # in order
+End-of-file
+
+pmlogextract -c $tmp.config src/mirage $tmp.arch >$tmp.out 2>$tmp.err
+_check_output pmlogextract
+# dump descriptors
+echo
+echo "--- dump descriptors ---"
+pmdumplog -d -z $tmp.arch | sed -e '/^$/d'
+
+# dump instance domain
+echo
+echo "--- dump instance domain ---"
+pmdumplog -i -z $tmp.arch | sed -e '/^$/d'
+
+# dump values for sample.bin
+echo
+echo "--- dump values for sample.bin ---"
+pmdumplog -m -z $tmp.arch sample.bin | sed -e '/^$/d'
+
+# dump values for sample.drift
+echo
+echo "--- dump values for sample.drift ---"
+pmdumplog -m -z $tmp.arch sample.drift | sed -e '/^$/d'
+
+# dump values for sample.mirage
+echo
+echo "--- dump values for sample.mirage ---"
+pmdumplog -m -z $tmp.arch sample.mirage | sed -e '/^$/d'
+
+
+# step 7
+rm -rf $tmp.arch*
+rm -rf $tmp.config
+echo
+echo " --- step 7: test config file, plus -S, -T and -z flags ---"
+echo "(output depends on src/mirage{0,index,meta})"
+# src/mirage contains "sample.drift"
+cat >$tmp.config <<'End-of-file'
+#
+# pmlogextract config file
+#
+sample.drift
+End-of-file
+
+pmlogextract -c $tmp.config -S "@10:50:00" -T "@11:00:00" -z src/mirage $tmp.arch >$tmp.out 2>$tmp.err
+_check_output pmlogextract
+
+# dump values for sample.drift
+echo "--- dump values for sample.drift ---"
+pmdumplog -m -z src/mirage sample.drift \
+ | sed -e '/^$/d' \
+ | $PCP_AWK_PROG -F":" '{ if ($1 == 10 && $2 >= 50) print $0; }' > $tmp.m
+pmdumplog -m -z $tmp.arch sample.drift \
+ | sed -e '/^$/d' \
+ | grep -v "timezone set to local" > $tmp.a
+diff $tmp.m $tmp.a
+x=$?
+if [ $x = 0 ]
+then
+ echo "sample.drift the same ... good"
+else
+ echo "sample.drift different ... BAD"
+fi
+
+
+# step 8
+rm -rf $tmp.arch*
+rm -rf $tmp.config
+echo
+echo " --- step 8: test -w flag (with -S, -T and -z) ---"
+echo "(output depends on src/rattle{0,index,meta})"
+# src/rattle contains "irix.kernel.all.load"
+
+pmlogextract -S "@00:00:00" -T "@12:00:00" -w -z src/rattle $tmp.arch >$tmp.out 2>$tmp.err
+_check_output pmlogextract
+
+# dump values for irix.kernel.all.load
+echo "--- dump values for irix.kernel.all.load ---"
+pmdumplog -m -z src/rattle irix.kernel.all.load \
+ | sed -e '/^$/d' \
+ | $PCP_AWK_PROG -F":" '{ if ($1 >= 0 && $1 < 12) print $0; }' > $tmp.m
+pmdumplog -m -z $tmp.arch irix.kernel.all.load \
+ | sed -e '/^$/d' \
+ | grep -v "timezone set to local" > $tmp.a
+diff $tmp.m $tmp.a
+x=$?
+if [ $x = 0 ]
+then
+ echo "irix.kernel.all.load the same ... good"
+else
+ echo "irix.kernel.all.load different ... BAD"
+fi
+
+
+# success, all done
+status=0
+exit