#!/bin/sh
# PCP QA Test No. 522
# #655108 $PCP_RC_DIR scripts leave files in /var/tmp
#
# Copyright (c) 1995-2002 Silicon Graphics, Inc.  All Rights Reserved.
#

seq=`basename $0`
echo "QA output created by $seq"

# get standard environment, filters and checks
. ./common.product
. ./common.filter
. ./common.check

_cleanup()
{
    _restore_auto_restart pmcd
    _restore_auto_restart pmlogger
    rm -f $tmp.*
}

status=1	# failure is the default!
trap "_cleanup; exit \$status" 0 1 2 3 15

# real QA test starts here
$sudo rm -f /var/tmp/*.pmcheck
_change_config pmlogger on || _exit 1
_stop_auto_restart pmcd
_stop_auto_restart pmlogger
if ! _service pmcd restart 2>&1; then _exit 1; fi \
| _filter_pcp_restart
_wait_for_pmcd || _exit 1
if ! _service pmlogger restart 2>&1; then _exit 1; fi \
| _filter_pcp_restart
_wait_for_pmlogger || _exit 1

# and wait some more for other pmloggers and stuff pmlogger_check will
# do before _start_pmcheck() in $PCP_RC_DIR/pmlogger actually gets to do
# the "rm"
#
st=0; cnt=0; while [ $st -ne 1 ] ; do 
    sleep 10
    $PCP_PS_PROG $PCP_PS_ALL_FLAGS | grep '/[p]mlogger_check( |$)' > $tmp.ps
    test -s $tmp.ps
    st=$?
    cnt=`expr $cnt + 1`; 
    if [ $cnt -gt 12 ] ; then 
	echo Waited too long for those ...
        cat $tmp.ps
	break
    fi
done

rm -f $tmp.ps

echo "Expect no files ..."
echo /var/tmp/*.pmcheck

# success, all done
status=0
exit
