update test_class.pl to add mib dirs, relative path, and more debug info

This commit is contained in:
Max Baker
2009-03-09 19:12:55 +00:00
parent 1af34e3e25
commit f0539d51ff
2 changed files with 27 additions and 5 deletions

View File

@@ -1,6 +1,9 @@
SNMP::Info - Friendly OO-style interface to Network devices using SNMP. SNMP::Info - Friendly OO-style interface to Network devices using SNMP.
ChangeLog $Id$ ChangeLog $Id$
version 2.01 ()
* Updated test_class.pl for better debug info and relative path
version 2.00 (08/01/08) version 2.00 (08/01/08)
+ Support for Alcatel-Lucent OmniSwitch via L3::AlcatelLucent + Support for Alcatel-Lucent OmniSwitch via L3::AlcatelLucent
+ Support for Alcatel-Lucent Service Router via L3::Timetra + Support for Alcatel-Lucent Service Router via L3::Timetra

View File

@@ -9,11 +9,14 @@
# $Id$ # $Id$
# #
use lib '/usr/local/netdisco'; use FindBin;
use lib "$FindBin::Bin/../..";
#use lib '/usr/local/netdisco';
use SNMP::Info; use SNMP::Info;
use Getopt::Long; use Getopt::Long;
use strict; use strict;
use vars qw/$Class $Dev $Comm $Ver @Dump %Dumped $Debug %args $NoBulk/; use vars qw/$Class $Dev $Comm $Ver @Dump %Dumped $Debug %args $NoBulk $MibDirs/;
# Default Values # Default Values
$Class = ''; $Class = '';
@@ -32,18 +35,31 @@ GetOptions ('c|class=s' => \$Class,
'p|print=s' => \@Dump, 'p|print=s' => \@Dump,
'x|debug+' => \$Debug, 'x|debug+' => \$Debug,
'n|nobulk' => \$NoBulk, 'n|nobulk' => \$NoBulk,
'm|mibdir=s@' => \$MibDirs,
); );
&usage unless ($Dev and $Comm); &usage unless ($Dev and $Comm);
# Default MIB directories
my $n = '/usr/local/netdisco';
unless (defined $MibDirs) {
$MibDirs = ["$n/mibs/allied", "$n/mibs/asante", "$n/mibs/cisco", "$n/mibs/foundry",
"$n/mibs/hp", "$n/mibs/nortel", "$n/mibs/extreme", "$n/mibs/rfc",
"$n/mibs/net-snmp"];
}
$Class = $Class ? "SNMP::Info::$Class" : 'SNMP::Info'; $Class = $Class ? "SNMP::Info::$Class" : 'SNMP::Info';
eval "require $Class;"; eval "require $Class;";
if ($@) { if ($@) {
die "Can't load Class specified : $Class.\n\n$@\n"; die "Can't load Class specified : $Class.\n\n$@\n";
} }
print "Class $Class loaded.\n"; my $class_ver = 'undef';
{ no strict 'refs';
$class_ver = ${"${Class}::VERSION"};
}
print "Class $Class ($class_ver) loaded from SNMP::Info $SNMP::Info::VERSION.\n";
#print "MIB Dirs : ",join(', ',@$MibDirs),"\n";
print "Dumping : ",join(',',@Dump),"\n" if scalar @Dump; print "Dumping : ",join(',',@Dump),"\n" if scalar @Dump;
%args = (); %args = ();
@@ -57,11 +73,13 @@ my $dev = new $Class( 'AutoSpecify' => 0,
'Debug' => $Debug, 'Debug' => $Debug,
'DestHost' => $Dev, 'DestHost' => $Dev,
'Community' => $Comm, 'Community' => $Comm,
'MibDirs' => $MibDirs,
%args %args
) or die "\n"; ) or die "\n";
print "Connected to $Dev.\n"; print "Connected to $Dev.\n";
print "It's a ", $dev->device_type(), ".\n"; print "Detected Class: ", $dev->device_type(), "\n";
print "Using Class: $Class (-c to change)\n";
my $layers = $dev->layers(); my $layers = $dev->layers();
@@ -182,6 +200,7 @@ test_class - Test a device against an SNMP::Info class
-p --print i_blah2 -p --print i_blah2
-x --debug debugging flag -x --debug debugging flag
-n --nobulk disable bulkwalk -n --nobulk disable bulkwalk
-m --mibdirs directory (repeat as needed)
end_usage end_usage
exit; exit;