#!/bin/sh

. ../eval_tools.sh

HEADER SNMPv2c bulkget of system components

SKIPIF NETSNMP_DISABLE_SNMPV2C
SKIPIFNOT USING_MIBII_SYSTEM_MIB_MODULE

#
# Begin test
#

# standard V2 configuration: testcomunnity
. ./Sv2cconfig

STARTAGENT

CAPTURE "snmpbulkget $SNMP_FLAGS -v2c -On -Cn1 -Cr2 -c testcommunity $SNMP_TRANSPORT_SPEC:$SNMP_TEST_DEST$SNMP_SNMPD_PORT .1.3.6.1.2.1.1.4 .1.3.6.1.2.1.1"

STOPAGENT

CHECKORDIE ".1.3.6.1.2.1.1.4.0 = STRING:"
CHECKORDIE ".1.3.6.1.2.1.1.1.0 = STRING:"
CHECKORDIE ".1.3.6.1.2.1.1.2.0 = OID:"

CHECK ".1.3.6.1.2.1.1.3.0"
if [ "$snmp_last_test_result" != 0 ] ; then
    return_value=1
    FINISHED
fi

CHECK ".1.3.6.1.2.1.1.5.0"
EXPECTRESULT 0
if [ "$snmp_last_test_result" != 0 ] ; then
    return_value=1
    FINISHED
fi

FINISHED
