#! /bin/sh
# PCP QA Test No. 254
# exercise pmNameAll for distributed PMNS with given namespace
#
# 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

signal=$PCP_BINADM_DIR/pmsignal
_needclean=true
pmns="nameall.pmns"

rm -rf $tmp
mkdir $tmp
chmod ugo+rwx $tmp
cd $tmp

cleanup()
{
    cd $here
    if $_needclean
    then
        _needclean=false
	$signal -s TERM $pmcd
	sleep 1
	unset PMCD_SOCKET
	_filter_pcp_start <$tmp.err
        echo "Restart and ping pmcd ..."
        _service pcp restart 2>&1 | _filter_pcp_start
	_restore_auto_restart pmcd
	_wait_for_pmcd
	_wait_for_pmlogger
    fi
    rm -rf $tmp $tmp.*
}

trap "cleanup; exit \$status" 0 1 2 3 15

_stop_auto_restart pmcd

# real QA test starts here

cat >$pmns <<End-of-File
root {
    ten		29:0:11
    another_ten	29:0:11
    yet
}

yet {
    another
    again	29:0:11
}

yet.another {
    ten		29:0:11
}
End-of-File

_service 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 -n $pmns -l $seq.full 2>$tmp.err &
pmcd=$!
_wait_for_pmcd

cd $here
src/nameall -s 2 ""

status=$?
