blob: 7c66a1d5fd0da0733aec0f3c1e336e50f0b0aa12 [file] [log] [blame]
#!/bin/sh
. ../eval_tools.sh
HEADER "extending agent functionality with pass_persist"
SKIPIF NETSNMP_DISABLE_SNMPV2C
SKIPIFNOT USING_UCD_SNMP_PASS_PERSIST_MODULE
[ -x /usr/bin/perl ] || SKIP /usr/bin/perl
# Don't run this test on MinGW - local/pass_persisttest is a shell script and
# hence passing it to the MSVCRT popen() doesn't work.
[ "x$OSTYPE" = "xmsys" ] && SKIP "MinGW"
# make sure snmpget and snmpwalk can be executed
SNMPGET="${SNMP_UPDIR}/apps/snmpget"
[ -x "$SNMPGET" ] || SKIP
SNMPWALK="${SNMP_UPDIR}/apps/snmpwalk"
[ -x "$SNMPWALK" ] || SKIP
snmp_version=v2c
TESTCOMMUNITY=testcommunity
. ./Sv2cconfig
#
# Begin test
#
oid=.1.3.6.1.4.1.8072.2.255 # NET-SNMP-PASS-MIB::netSnmpPassExamples
CONFIGAGENT pass_persist $oid ${SNMP_BASEDIR}/../local/pass_persisttest
ORIG_AGENT_FLAGS="$AGENT_FLAGS"
AGENT_FLAGS="$ORIG_AGENT_FLAGS -Ducd-snmp/pass_persist"
PASS_PERSIST_PIDFILE="$SNMP_TMPDIR/pass_persist.pid.$$"
export PASS_PERSIST_PIDFILE
STARTAGENT
#COMMENT Check a full walk of the sample data
CAPTURE "$SNMPWALK $SNMP_FLAGS -$snmp_version -c $TESTCOMMUNITY $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT $oid"
CHECKORDIE "NET-SNMP-PASS-MIB::netSnmpPassString.0 = STRING: Life, the Universe, and Everything"
CHECKORDIE "NET-SNMP-PASS-MIB::netSnmpPassInteger.1 = INTEGER: 42"
CHECKORDIE "NET-SNMP-PASS-MIB::netSnmpPassOID.1 = OID: NET-SNMP-PASS-MIB::netSnmpPassOIDValue"
CHECKORDIE "NET-SNMP-PASS-MIB::netSnmpPassTimeTicks.0 = Timeticks: (363136200) 42 days, 0:42:42.00 "
CHECKORDIE "NET-SNMP-PASS-MIB::netSnmpPassIpAddress.0 = IpAddress: 127.0.0.1"
CHECKORDIE "NET-SNMP-PASS-MIB::netSnmpPassCounter.0 = Counter32: 1"
CHECKORDIE "NET-SNMP-PASS-MIB::netSnmpPassGauge.0 = Gauge32: 42"
#COMMENT A couple of spot checks of GET requests.
CAPTURE "$SNMPGET $SNMP_FLAGS -$snmp_version -c $TESTCOMMUNITY $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT NET-SNMP-PASS-MIB::netSnmpPassInteger.1"
CHECKORDIE "INTEGER: 42"
#COMMENT netSnmpPassCounter should increment, since this is pass_persist
CAPTURE "$SNMPGET $SNMP_FLAGS -$snmp_version -c $TESTCOMMUNITY $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT NET-SNMP-PASS-MIB::netSnmpPassCounter.0"
CHECKORDIE "Counter32: 2"
#COMMENT now kill the pass_persist script, and check that it recovers.
STOPPROG $PASS_PERSIST_PIDFILE
#COMMENT netSnmpPassCounter should have reverted to 1, as this is a new instance.
CAPTURE "$SNMPGET $SNMP_FLAGS -$snmp_version -c $TESTCOMMUNITY $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT NET-SNMP-PASS-MIB::netSnmpPassCounter.0"
CHECKORDIE "Counter32: 1"
STOPAGENT
FINISHED