/var/lib/pcp/testsuite/200 is in pcp-testsuite 3.8.12ubuntu1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | #! /bin/sh
# PCP QA Test No. 200
# $PMCD_RECONNECT_TIMEOUT validation
#
# 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
if [ $PCP_VER -lt 3702 ]
then
ln $seq.out.1 $seq.out || exit 1
else
ln $seq.out.2 $seq.out || exit 1
fi
status=1
rm -f $seq.full
_filter()
{
$PCP_AWK_PROG '
BEGIN { last = "" }
$0 != last { print; last = $0 }' \
| sed \
-e 's/failed: Connection reset by peer/failed: IPC protocol failure/' \
-e 's/[A-Z][a-z][a-z] [A-Z][a-z][a-z] *[0-9][0-9]* [0-9][0-9]:[0-9][0-9]:[0-9][0-9]/DATE/' \
-e '/recon([0-9][0-9]*)/s//recon(PID)/' \
-e '/^Context\[/d' \
-e '/^pmReconnectContext(/d' \
-e '/^Dump Contexts:/d' \
-e '/^Dump Instance Profile /d' \
-e '/^IPC table fd/d' \
-e '/^__pmConnectPMCD(/d' \
-e '/^__pmDecodeXtendError:/d' \
-e '/^pmNewContext(/d' \
-e '/^__pmSendCreds:/d' \
-e '/^__pmSetSocketIPC:/d' \
-e '/^__pmSetVersionIPC:/d' \
-e '/^__pmDataIPC: /d' \
-e '/^__pmSetDataIPC:/d' \
-e '/^pmWhichContext(/d' \
-e '/__pmConnect(fd=.*) ->/d' \
| $PCP_AWK_PROG '
/delay: 6 / { print "delay: 6-10 secs"; next }
/delay: 7 / { print "delay: 6-10 secs"; next }
/delay: 8 / { print "delay: 6-10 secs"; next }
/delay: 9 / { print "delay: 6-10 secs"; next }
/delay: 10 / { print "delay: 6-10 secs"; next }
/delay: 14 / { print "delay: 14-16 secs"; next }
/delay: 15 / { print "delay: 14-16 secs"; next }
/delay: 16 / { print "delay: 14-16 secs"; next }
{ print }'
}
cat >$tmp.new <<End-of-File
# From QA 200
#
# Name Id IPC IPC Params File/Cmd
pmcd 2 dso pmcd_init $PCP_PMDAS_DIR/pmcd/pmda_pmcd.so
sample 29 pipe binary $PCP_PMDAS_DIR/sample/pmdasample -d 29
End-of-File
# copy the pmcd config file to restore state later.
$sudo cp $PCP_PMCDCONF_PATH $tmp.pmcd.conf
$sudo cp $tmp.new $PCP_PMCDCONF_PATH
# ensure we have pmcd ready for the first iteration.
$sudo $PCP_RC_DIR/pcp start >/dev/null 2>&1
_wait_for_pmcd
_wait_for_pmlogger
_cleanup()
{
[ -f $tmp.pmcd.conf ] && $sudo cp $tmp.pmcd.conf $PCP_PMCDCONF_PATH
[ "$PCP_PLATFORM" != "linux" ] && _change_config pmlogger on
$sudo $PCP_RC_DIR/pcp restart >/dev/null
_wait_for_pmcd
_wait_for_pmlogger
$sudo rm -f $tmp.pmcd.conf
rm -f $tmp.*
exit $status
}
trap _cleanup 0 1 2 3 15
# real QA test starts here
for xxx in "" "1,3,5" "2" "1-2" "1,2,foo"
do
if [ "X$xxx" = X ]
then
unset PMCD_RECONNECT_TIMEOUT
else
PMCD_RECONNECT_TIMEOUT="$xxx"
export PMCD_RECONNECT_TIMEOUT
fi
echo
echo "PMCD_RECONNECT_TIMEOUT=\"$PMCD_RECONNECT_TIMEOUT\""
echo "start PMCD_RECONNECT_TIMEOUT=$PMCD_RECONNECT_TIMEOUT" >>$seq.full
echo "start `date`" >>$seq.full
DEBUG=
DEBUG=-D16
src/recon $DEBUG >$tmp.out 2>&1 &
sleep 2
echo "begin stop pmcd `date`" >>$seq.full
$sudo $PCP_RC_DIR/pcp stop | _filter_pcp_stop
echo "end stop pmcd `date`" >>$seq.full
sleep 4
echo "begin start pmcd `date`" >>$seq.full
$sudo $PCP_RC_DIR/pcp start \
| _filter_pcp_start \
| sed -e '/starting archive loggers/d' -e '/Starting pmlogger/d'
echo "end start pmcd `date`" >>$seq.full
wait
_filter <$tmp.out
cat $tmp.out >>$seq.full
done
status=0
exit
|