blob: 53d5b9085fe5b9899d9ade3065d53806a4680ad7 [file] [log] [blame]
#!/bin/sh
# Testing this script is possible by running e.g. the following commands:
# srcdir=/z/software/net-snmp/trunk builddir=/z/software/net-snmp/trunk-mingw
# cd $builddir/testing
# TRAPD_FLAGS="-Dsnmptrapd -Drun:shell" $srcdir/testing/fulltests/support/simple_run $srcdir/testing/fulltests/default/T059trapdtraphandle_simple
# "inline" trap handler
if [ "x$1" = "xtraphandle" ]; then
cat - >>"$2"
exit 0
fi
. ../support/simple_eval_tools.sh
TRAPHANDLE_LOGFILE=${SNMP_TMPDIR}/traphandle.log
HEADER snmptrapd traphandle: launching external shell script
SKIPIF NETSNMP_DISABLE_SNMPV2C
SKIPIFNOT USING_UTILITIES_EXECUTE_MODULE
SKIPIFNOT HAVE_SIGHUP
#
# Begin test
#
snmp_version=v2c
TESTCOMMUNITY=testcommunity
# Make the paths of arguments $0 and $1 absolute.
NETSNMPDIR="`pwd`"
NETSNMPDIR="`dirname ${NETSNMPDIR}`"
NETSNMPDIR="`dirname ${NETSNMPDIR}`"
NETSNMPDIR="`dirname ${NETSNMPDIR}`"
if [ "`echo $1|cut -c1`" = "/" ]; then
traphandle_arg="$1"
else
traphandle_arg="${NETSNMPDIR}/$1"
fi
CONFIGTRAPD [snmp] persistentDir $SNMP_TMP_PERSISTENTDIR
CONFIGTRAPD [snmp] tempFilePattern /tmp/snmpd-tmp-XXXXXX
CONFIGTRAPD authcommunity execute $TESTCOMMUNITY
CONFIGTRAPD doNotLogTraps true
if [ "x$OSTYPE" = "xmsys" ]; then
CONFIGTRAPD traphandle default $MSYS_SH -c "'" $traphandle_arg traphandle $TRAPHANDLE_LOGFILE "'"
else
CONFIGTRAPD traphandle default $traphandle_arg traphandle $TRAPHANDLE_LOGFILE
fi
CONFIGTRAPD agentxsocket /dev/null
STARTTRAPD
## 1) test notification handler
CAPTURE "snmptrap -d -Ci -t $SNMP_SLEEP -$snmp_version -c $TESTCOMMUNITY $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPTRAPD_PORT 0 .1.3.6.1.6.3.1.1.5.1 .1.3.6.1.2.1.1.4.0 s handled_inform_$snmp_version"
DELAY
CHECKORDIE "handled_inform_$snmp_version" $TRAPHANDLE_LOGFILE
## 2) persistency: reconfigure (SIGHUP), re-test
HUPTRAPD
CAPTURE "snmptrap -d -Ci -t $SNMP_SLEEP -$snmp_version -c $TESTCOMMUNITY $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPTRAPD_PORT 0 .1.3.6.1.6.3.1.1.5.1 .1.3.6.1.2.1.1.4.0 s handled_inform2_$snmp_version"
DELAY
CHECKORDIE "handled_inform2_$snmp_version" $TRAPHANDLE_LOGFILE
## stop
STOPTRAPD
FINISHED