| #!/bin/sh |
| |
| . ../support/simple_eval_tools.sh |
| |
| HEADER "extending agent functionality with pass_persist" |
| |
| SKIPIF NETSNMP_DISABLE_SNMPV2C |
| SKIPIFNOT USING_UCD_SNMP_PASS_PERSIST_MODULE |
| |
| # 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" |
| |
| [ -x /usr/bin/perl ] || SKIP "/usr/bin/perl not found" |
| |
| # make sure snmpget and snmpwalk can be executed |
| SNMPGET="${builddir}/apps/snmpget" |
| [ -x "$SNMPGET" ] || SKIP snmpget not compiled |
| SNMPWALK="${builddir}/apps/snmpwalk" |
| [ -x "$SNMPWALK" ] || SKIP snmpwalk not compiled |
| |
| 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 ${srcdir}/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 |