This file is indexed.

/var/lib/pcp/testsuite/200 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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#! /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

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