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/271 | |
download | pcp-debian.tar.gz |
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'qa/271')
-rwxr-xr-x | qa/271 | 79 |
1 files changed, 79 insertions, 0 deletions
@@ -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 |