#!/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
