#! /bin/sh
# PCP QA Test No. 025
# pmcd reconnect and error propagation
#
# 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

trap "_cleanup; rm -f $tmp.*; exit" 0 1 2 3 15

_stop_auto_restart pmcd
_stop_auto_restart pmlogger

_cleanup()
{
    _restore_auto_restart pmcd
    _restore_auto_restart pmlogger
   # these come from src/pmcdgone running _wait_for_pmlogger w/out $tmp
   # being set ...
   #
   rm -f ._wait_for_pmlogger.host ._wait_for_pmlogger.pmlc
}

use_systemd=''
if [ -f $PCP_INC_DIR/builddefs ]
then
    ENABLE_SYSTEMD=false
    eval `sed -n <$PCP_INC_DIR/builddefs -e '/ENABLE_SYSTEMD/s/ //gp'`
    if $ENABLE_SYSTEMD
    then
	use_systemd='-s'
	echo "Using systemd." >>$seq.full
    fi
fi

# real QA test starts here
$sudo src/pmcdgone $use_systemd 2>&1 \
| tee $seq.full \
| sed \
    -e '/^+ /d' \
    -e '/__pmGetPDU: fd=3 BINARY hdr: Broken pipe/d' \
    -e '/pmLookupDesc:/s/Connection reset by peer/IPC protocol failure/' \
    -e '/pmReconnectContext:/s/Operation/Connection/' \
| _filter_pcp_start
