summaryrefslogtreecommitdiff
path: root/qa/049
diff options
context:
space:
mode:
Diffstat (limited to 'qa/049')
-rwxr-xr-xqa/04976
1 files changed, 76 insertions, 0 deletions
diff --git a/qa/049 b/qa/049
new file mode 100755
index 0000000..0b69c3e
--- /dev/null
+++ b/qa/049
@@ -0,0 +1,76 @@
+#! /bin/sh
+# PCP QA Test No. 049
+# Big archive exerciser and temporal index
+#
+# 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
+. ./common.check
+
+rm -f $seq.out $seq.full
+if [ $PCP_VER -lt 3509 ]
+then
+ ln $seq.out.1 $seq.out || exit 1
+else
+ ln $seq.out.2 $seq.out || exit 1
+fi
+
+trap "rm -f $tmp.*; exit" 0 1 2 3 15
+
+# real QA test starts here
+for arch in src/mv-bigbin
+do
+ echo | tee -a $seq.full
+ echo "=== $arch ===" | tee -a $seq.full
+ pmdumplog -t $arch >>$seq.full
+ src/xarch -a $arch -D128 2>&1 \
+ | tee -a $seq.full \
+ | sed \
+ -e 's/posn=[0-9]*/posn=OFFSET/' \
+ -e 's/__pmLogChkLabel/chkLabel/g' \
+ -e '/__pmLogRead/d' \
+ -e '/LogLoadMeta/d' \
+ -e '/__pmLogOpen: inspect file/d' \
+ -e 's/[0-2][0-9]:[0-5][0-9]:[0-5][0-9]\.[0-9][0-9][0-9]/TIME/g' \
+ -e 's/TIME (t=[0-9][0-9.]*)/TIME/g' \
+ -e 's/pid=.*host=.*/pid=PID host=HOSTNAME/' \
+ | $PCP_AWK_PROG '
+$1 == "chkLabel:" && /vol=0/ { if (fd1 == "") fd1 = $2
+ if (fd1 == $2) $2 = "fd=<n1>"
+ }
+$1 == "chkLabel:" && /vol=-2/ { if (fd2 == "") fd2 = $2
+ if (fd2 == $2) $2 = "fd=<n2>"
+ }
+$1 == "chkLabel:" && /vol=-1/ { if (fd3 == "") fd3 = $2
+ if (fd3 == $2) $2 = "fd=<n3>"
+ }
+$1 == "__pmLogRead:" { if (fd4 == "") fd4 = $2
+ if (fd4 == $2) $2 = "fd=<n4>"
+ }
+$1 == "chkLabel:" && /vol=[1-9]/ { if (fd5 == "") fd5 = $2
+ if (fd5 == $2) $2 = "fd=<n5>"
+ }
+ { print }' \
+ | $PCP_AWK_PROG -v sortfile=$tmp.sort '
+/pmLogOpen/ { print > sortfile; open=1; next }
+open==1 && $1 !~ /pmLogOpen/ { system("sort " sortfile); open=0 }
+/^Pass / { pass = $2 }
+pass == "4:" && /^Found 1000 / { print; skip = 1 }
+pass == "4:" && /^Found 750 / { print; skip = 1 }
+pass == "5:" && /^Found 750 / { print; skip = 1 }
+pass == "5:" && /^Found 500 / { print; skip = 1 }
+skip == 1 && /__pmLogSetTime/ { print "__pmLogSetTime ..."; next }
+skip == 1 && /__pmLogFetch/ { skip = 2; next }
+skip == 2 && /__pmLogFetch/ { next }
+skip == 1 { next }
+skip == 2 { skip = 0 }
+ { print }'
+done
+
+exit 0