#!/bin/sh

. ../support/simple_eval_tools.sh

HEADER AgentX trap sending support using agentxtrap

SKIPIFNOT USING_AGENTX_MASTER_MODULE

#
# Begin test
#

# start the trap demon
CONFIGTRAPD authcommunity log public
STARTTRAPD

# standard V3 configuration for initial user
. ./Sv3config
# configure the trap receiver.
CONFIGAGENT trap2sink ${SNMP_TRANSPORT_SPEC}:${SNMP_TEST_DEST}${SNMP_SNMPTRAPD_PORT} public

# Start the agent
if [ "x$SNMP_TRANSPORT_SPEC" = "xunix" ];then
AGENTX_SERVER="-x $SNMP_TMPDIR/agentx_socket"
else
AGENTX_SERVER="-x tcp:${SNMP_TEST_DEST}${SNMP_AGENTX_PORT}"
fi
AGENT_FLAGS="$AGENT_FLAGS $AGENTX_SERVER"
STARTAGENT

CAPTURE "agentxtrap $AGENTX_SERVER 0.0 0.0 s mostly_harmless"

# stop the master agent
STOPAGENT

# stop the trap demon
STOPTRAPD

# Check that the trap was received
CHECKTRAPD "mostly_harmless"

# all done (whew)
FINISHED
