Blame testing/fulltests/default/T060trapdperl_simple

Packit fcad23
#!/bin/sh
Packit fcad23
Packit fcad23
. ../support/simple_eval_tools.sh
Packit fcad23
Packit fcad23
HEADER 'snmptrapd embedded perl support (NetSNMP::TrapReceiver)'
Packit fcad23
Packit fcad23
SKIPIF NETSNMP_DISABLE_SNMPV2C
Packit fcad23
SKIPIFNOT NETSNMP_EMBEDDED_PERL
Packit fcad23
SKIPIFNOT HAVE_SIGHUP
Packit fcad23
SKIPIFNOT NETSNMP_SECMOD_USM
Packit fcad23
Packit fcad23
#
Packit fcad23
# Begin test
Packit fcad23
#
Packit fcad23
Packit fcad23
snmp_version=v2c
Packit fcad23
TESTCOMMUNITY=testcommunity
Packit fcad23
TESTOID=.1.3.6.1.6.3.1.1.5.1
Packit fcad23
TESTOID2=.1.3.6.1.6.3.1.1.5.2
Packit fcad23
VAROID=.1.3.6.1.2.1.1.4.0
Packit fcad23
EMBPERL_LOGFILE=${SNMP_TMPDIR}/embperl.log
Packit fcad23
Packit fcad23
# make sure that we can fulfill all library dependencies
Packit fcad23
_ld_lib_path="${SNMP_UPDIR}/snmplib/.libs:${SNMP_UPDIR}/agent/.libs:${SNMP_UPDIR}/agent/helpers/.libs"
Packit fcad23
if [ x$OSTYPE = xcygwin ]; then
Packit fcad23
  PATH="${_ld_lib_path}:$PATH"
Packit fcad23
fi
Packit fcad23
Packit fcad23
echo "use blib qw(${SNMP_UPDIR}/perl);" > ${SNMP_TMPDIR}/snmp_perl_trapd.pl
Packit fcad23
echo "use NetSNMP::TrapReceiver;" >> ${SNMP_TMPDIR}/snmp_perl_trapd.pl
Packit fcad23
Packit fcad23
CONFIGTRAPD authcommunity execute $TESTCOMMUNITY
Packit fcad23
CONFIGTRAPD perlInitFile ${SNMP_TMPDIR}/snmp_perl_trapd.pl
Packit fcad23
CONFIGTRAPD 'perl sub my_receiver { open LOG,">>'$EMBPERL_LOGFILE'"; print LOG "handled_by_embperl\\n"; close LOG };'
Packit fcad23
CONFIGTRAPD 'perl sub my_receiver2 { open LOG,">>'$EMBPERL_LOGFILE'"; print LOG "handled_again_by_embperl\\n"; close LOG };'
Packit fcad23
CONFIGTRAPD 'perl NetSNMP::TrapReceiver::register("'$TESTOID'", \&my_receiver) || warn "register_perl_handler_failed";'
Packit fcad23
CONFIGTRAPD 'perl NetSNMP::TrapReceiver::register("'$TESTOID2'", \&my_receiver2) || warn "register_second_perl_handler_failed";'
Packit fcad23
CONFIGTRAPD 'perl print STDERR "registered_perl_handler_ok\\n";'
Packit fcad23
CONFIGTRAPD agentxsocket /dev/null
Packit fcad23
Packit fcad23
STARTTRAPD
Packit fcad23
Packit fcad23
## 1) trigger embedded perl notification handler
Packit fcad23
Packit fcad23
CAPTURE "snmptrap -Ci -t $SNMP_SLEEP -d -$snmp_version -c $TESTCOMMUNITY $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPTRAPD_PORT 0 $TESTOID $VAROID s handled_trap_$snmp_version"
Packit fcad23
Packit fcad23
## 2) persistency: reconfigure (SIGHUP), re-trigger
Packit fcad23
Packit fcad23
HUPTRAPD
Packit fcad23
CAPTURE "snmptrap -Ci -t $SNMP_SLEEP -d -$snmp_version -c $TESTCOMMUNITY $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPTRAPD_PORT 0 $TESTOID2 $VAROID s handled_trap2_$snmp_version"
Packit fcad23
Packit fcad23
## stop
Packit fcad23
STOPTRAPD
Packit fcad23
Packit fcad23
Packit fcad23
CHECKORDIE "handled_by_embperl"       $EMBPERL_LOGFILE
Packit fcad23
CHECKORDIE "handled_again_by_embperl" $EMBPERL_LOGFILE
Packit fcad23
Packit fcad23
FINISHED