blob: 25c3ee13205076eff0545d1f8f761047920028e5 [file] [log] [blame]
#!/bin/sh
. ../eval_tools.sh
HEADER AgentX trap sending support
SKIPIFNOT USING_AGENTX_MASTER_MODULE
SKIPIFNOT USING_AGENTX_SUBAGENT_MODULE
SKIPIFNOT USING_EXAMPLES_EXAMPLE_MODULE
#
# Begin test
#
# start the trap demon
CONFIGTRAPD authcommunity log public
STARTTRAPD
# standard V3 configuration for initial user
. ./Sv3config
# configure the trap receiver.
CONFIGAGENT trapsink ${SNMP_TRANSPORT_SPEC}:${SNMP_TEST_DEST}${SNMP_SNMPTRAPD_PORT} public
# Start the agent without initializing the example mib.
if [ "x$SNMP_TRANSPORT_SPEC" = "xunix" ];then
ORIG_AGENT_FLAGS="$AGENT_FLAGS -x $SNMP_TMPDIR/agentx_socket"
else
ORIG_AGENT_FLAGS="$AGENT_FLAGS -x tcp:${SNMP_TEST_DEST}${SNMP_AGENTX_PORT}"
fi
AGENT_FLAGS="$ORIG_AGENT_FLAGS -I -example"
STARTAGENT
# test to see that the current agent doesn't support the example mib
CAPTURE "snmpget -On -t 3 $SNMP_FLAGS $AUTHTESTARGS $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT UCD-SNMP-MIB::ucdavis.254.1.0"
CHECK "No Such Object"
if test "$snmp_last_test_result" = 1; then
# test the AgentX subagent by first running it...
SNMP_SNMPD_PID_FILE_ORIG=$SNMP_SNMPD_PID_FILE
SNMP_SNMPD_LOG_FILE_ORIG=$SNMP_SNMPD_LOG_FILE
SNMP_SNMPD_PID_FILE=$SNMP_SNMPD_PID_FILE.num2
SNMP_SNMPD_LOG_FILE=$SNMP_SNMPD_LOG_FILE.num2
AGENT_FLAGS="$ORIG_AGENT_FLAGS -X -I example -Dadd"
SNMP_CONFIG_FILE="$SNMP_TMPDIR/bogus.conf"
STARTAGENT
# test to see that the agent now supports the example mib
CAPTURE "snmpget -On $SNMP_FLAGS -t 5 $AUTHTESTARGS $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT UCD-SNMP-MIB::ucdavis.254.1.0"
CHECK "life the universe and everything"
if test "$snmp_last_test_result" = 1; then
# test to see that the agent now sends a trap from the exmaple mib
CAPTURE "snmpset -On -r 0 -t 3 $SNMP_FLAGS $AUTHTESTARGS $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT UCD-SNMP-MIB::ucdavis.254.8.0 i 1"
DELAY
CHECKTRAPD "life the universe and everything"
fi
# stop the subagent
STOPAGENT
SNMP_SNMPD_PID_FILE=$SNMP_SNMPD_PID_FILE_ORIG
SNMP_SNMPD_LOG_FILE=$SNMP_SNMPD_LOG_FILE_ORIG
fi
# stop the master agent
STOPAGENT
# stop the trap demon
STOPTRAPD
# all done (whew)
FINISHED