summaryrefslogtreecommitdiff
path: root/qa/271
diff options
context:
space:
mode:
Diffstat (limited to 'qa/271')
-rwxr-xr-xqa/27179
1 files changed, 79 insertions, 0 deletions
diff --git a/qa/271 b/qa/271
new file mode 100755
index 0000000..0c81cb3
--- /dev/null
+++ b/qa/271
@@ -0,0 +1,79 @@
+#! /bin/sh
+# PCP QA Test No. 271
+# __pmLogOpen() failed if basename.anything was a directory
+#
+# 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
+
+host=`hostname`
+
+status=1 # failure is the default!
+trap "rm -rf $tmp.*; exit \$status" 0 1 2 3 15
+
+_filter()
+{
+ _filter_dbg \
+ | _filter_pmdumplog \
+ | sed \
+ -e 's/__pmLogChkLabel/chkLabel/g' \
+ -e 's/TIMESTAMP (t=[0-9][0-9.]*)/TIMESTAMP/g' \
+ | grep -v "$tmp.tmp" \
+ | grep -v "$tmp.out" \
+ | $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>"
+ }
+ { print }' \
+ | sed >$tmp.tmp \
+ -e "s;$tmp;TMP;g" \
+ -e "s/$host.*\]/HOST]/g" \
+ -e "s/$host/HOST/g" \
+ -e 's/pid=[0-9][0-9]*/pid=PID/g' \
+ -e 's/posn=[0-9][0-9]*/posn=OFFSET/g' \
+ -e 's/header+[0-9][0-9]*+trailer/header+LEN+trailer/g'
+ grep __pmLogOpen $tmp.tmp | LC_COLLATE=POSIX sort
+ grep -v __pmLogOpen $tmp.tmp
+}
+
+echo "log mandatory on once pmcd.control" \
+| pmlogger -s 1 -l $tmp.log $tmp >$tmp.out 2>&1
+
+echo === no dir ===
+pmdumplog -D128 -l $tmp >$tmp.out 2>&1
+echo "[filtered and sorted stderr]"
+_filter <$tmp.out
+
+echo
+echo === empty dir ===
+mkdir $tmp.dir
+pmdumplog -D128 -l $tmp >$tmp.out 2>&1
+echo "[filtered and sorted stderr]"
+_filter <$tmp.out
+
+echo
+echo === non-empty dir ===
+touch $tmp.dir/dummy
+pmdumplog -D128 -l $tmp >$tmp.out 2>&1
+echo "[filtered and sorted stderr]"
+_filter <$tmp.out
+
+# success, all done
+status=0
+exit