/var/lib/pcp/testsuite/243 is in pcp-testsuite 3.10.8build1.
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 | #! /bin/sh
# PCP QA Test No. 243
# Multiple PMCDs test
#
# 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
_get_libpcp_config
if $ipv6 ; then
ln $seq.out.ipv6 $seq.out || exit 1
else
ln $seq.out.nonipv6 $seq.out || exit 1
fi
_filter_err()
{
_filter_pmcd_log \
| sed \
-e 's/ __pmBind: / bind: /g' \
-e 's/may already be running/is already running/g' \
-e '/Log for pmcd/,/INADDR_ANY/c\
... boring stuff deleted' \
-e '/ok FD 44321 ipv6 INADDR_ANY/d' \
-e '/OpenRequestSocket.*unix.*bind: Address already in use/,+1 d' \
-e 's/ INADDR_ANY/ 0x0/g'
}
signal=$PCP_BINADM_DIR/pmsignal
_needclean=true
rm -rf $tmp
mkdir $tmp
chmod ugo+rwx $tmp
cd $tmp
cleanup()
{
cd $here
if $_needclean
then
_needclean=false
$signal -s TERM $my_pmcd_pid
pmsleep 1.5
unset PMCD_SOCKET
echo "Restart and ping pmcd ..."
$sudo $PCP_RC_DIR/pcp restart | _filter_pcp_start
_wait_for_pmcd
_wait_for_pmlogger
pmprobe pmcd.control.debug
fi
rm -rf $tmp
}
status=1
trap "cleanup; exit \$status" 0 1 2 3 15
# real QA test starts here
$sudo $PCP_RC_DIR/pcp stop | _filter_pcp_stop
# Note: start pmcd with -f so that its PID stays the same (no daemon)
#
export PMCD_SOCKET=$tmp/pmcd.socket
$PCP_PMCD_PROG -f -x err1 &
my_pmcd_pid=$!
_wait_for_pmcd
echo "Checking for startup errors ..."
[ -f err1 ] && _filter_err <err1
# Try to start another pmcd. This should fail because the socket is already in
# use. Make sure that there are no changes to the log file
#
if [ -f pmcd.log ]
then
cp pmcd.log pmcd.log.$$
else
echo "No pmcd.log, pmcd failed to start!"
exit
fi
echo
echo "Trying to start another PMCD over the top of the first one."
echo "Expect \"bind: Address already in use\"...:"
$PCP_PMCD_PROG -f -x err2 2>&1 | _filter_err &
pmsleep 2.5
echo "Checking for startup errors ..."
[ -f err2 ] && _filter_err <err2
echo "Checking that log hasn't changed ..."
diff pmcd.log pmcd.log.$$
status=$?
|