#! /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=" } $1 == "chkLabel:" && /vol=-2/ { if (fd2 == "") fd2 = $2 if (fd2 == $2) $2 = "fd=" } $1 == "chkLabel:" && /vol=-1/ { if (fd3 == "") fd3 = $2 if (fd3 == $2) $2 = "fd=" } $1 == "__pmLogRead:" { if (fd4 == "") fd4 = $2 if (fd4 == $2) $2 = "fd=" } { 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