#! /bin/sh
# PCP QA Test No. 032
# exercise pmControlLog over the primary logger
#
# Copyright (c) 1995-2002 Silicon Graphics, Inc.  All Rights Reserved.
#
# check-group-include: pmlc
#

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

. ./common.product
. ./common.filter
. ./common.check

_echo()
{
    echo ""
    echo "+++" $* "+++"
}

_cleanup()
{
    _restore_auto_restart pmcd
    _restore_primary_logger
    rm -f $tmp.*
    exit $status
}

status=1
trap "_cleanup" 0 1 2 3 15

_stop_auto_restart pmcd

if ! _service pmlogger stop 2>&1; then _exit 1; fi \
| _filter_pcp_stop
_wait_pmlogger_end || _exit 1
if ! _service pmcd stop 2>&1; then _exit 1; fi \
| _filter_pcp_stop
_wait_pmcd_end || _exit 1
_writable_primary_logger

if ! _service pmcd start 2>&1; then _exit 1; fi \
| _filter_pcp_start
_wait_for_pmcd || _exit 1
if ! _service pmlogger start 2>&1; then _exit 1; fi \
| _filter_pcp_start
_wait_for_pmlogger || _exit 1

# real QA test starts here
_echo "expect this to be off"
src/logcontrol enquire sample.control

_echo "force these off"
src/logcontrol mandatory off sample.bin sampledso.colour
_echo "should fail to turn on"
src/logcontrol advisory on sampledso.colour
src/logcontrol -i bin-300 advisory on sample.bin

_echo "force these on"
src/logcontrol mandatory on sample.colour sampledso.bin
_echo "should fail to turn off"
src/logcontrol advisory off sampledso.bin
src/logcontrol -i red advisory off sample.colour

_echo "allow advisory control over this one"
src/logcontrol mandatory maybe sample.lights
_echo "turn it on"
src/logcontrol advisory on sample.lights
_echo "turn it on again (NOP)"
src/logcontrol advisory on sample.lights
_echo "turn it off"
src/logcontrol advisory off sample.lights
_echo "turn it on"
src/logcontrol advisory on sample.lights

status=0
exit
