blob: e44748a1c206b50a4ba2c419243b5c6357bffae1 [file] [log] [blame]
#!./perl
BEGIN {
unless(grep /blib/, @INC) {
chdir 't' if -d 't';
@INC = '../lib' if -d '../lib';
}
eval "use Cwd qw(abs_path)";
$ENV{'SNMPCONFPATH'} = 'nopath';
$ENV{'MIBDIRS'} = '+' . abs_path("../../mibs");
}
use Test;
BEGIN {plan tests => 7}
use SNMP;
require "t/startagent.pl";
use vars qw($mibdir);
$SNMP::verbose = 0;
my $mib_file = 't/mib.txt';
my $junk_mib_file = 'mib.txt';
my $mibfile1;
my @mibdir;
my $mibfile2;
if ($^O =~ /win32/i) {
$mibdir =~ s"/"\\"g;
$mibfile1 = "$mibdir\\TCP-MIB.txt";
@mibdir = ("$mibdir");
$mibfile2 = "$mibdir\\IPV6-TCP-MIB.txt";
}
else {
$mibfile1 = "$mibdir/TCP-MIB.txt";
@mibdir = ("$mibdir");
$mibfile2 = "$mibdir/IPV6-TCP-MIB.txt";
}
if ($^O =~ /win32/i) {
$mibdir =~ s"/"\\"g;
}
######################################################################
# See if we can find a mib to use, return of 0 means the file wasn't
# found or isn't readable.
$res = SNMP::setMib($junk_mib_file,1);
ok(defined(!$res));
######################################################################
# Now we give the right name
$res = SNMP::setMib($mib_file,1);
ok(defined($res));
######################################################################
# See if we can find a mib to use
$res = SNMP::setMib($mib_file,0);
ok(defined($res));
######################## 4 ################################
# add a mib dir
$res = SNMP::addMibDirs($mibdir[0]);
SNMP::loadModules("IP-MIB", "IF-MIB", "IANAifType-MIB", "RFC1213-MIB");
#SNMP::unloadModules(RMON-MIB);
#etherStatsDataSource shouldn't be found.
#present only in 1271 & RMON-MIB.
#
# XXX: because we can't count on user .conf files, we should turn off
# support for them (maybe set SNMPCONFPATH at the top of this
# script?). But for the mean time just search for a bogus node that
# will never exist.
$res = $SNMP::MIB{bogusetherStatsDataSource};
ok(!defined($res));
######################## 5 ############################
# add mib file
$res1 = SNMP::addMibFiles($mibfile1);
ok(defined($res1));
$res2 = SNMP::addMibFiles($mibfile2);
ok(defined($res2));
$res = $SNMP::MIB{ipv6TcpConnState}{moduleID};
ok($res =~ /^IPV6-TCP-MIB/);
#################################################
snmptest_cleanup();