#!/usr/bin/env perl use strict; use warnings; use Test::More 1.302083; use SNMP::Info; use Path::Class 'dir'; # needed when running with Alien::SNMP::MAXTC %SNMP::Info::MIBS = ('RFC1213-MIB' => 'sysName'); my $info = SNMP::Info->new( AutoSpecify => 1, Debug => 1, DestHost => 'demo.snmplabs.com', Community => 'public', Version => 2, MibDirs => [ _build_mibdirs() ], IgnoreNetSNMPConf => 1, # Debug => 1, # DebugSNMP => 1, ); ok($info, 'SNMP::Info instantiated'); ok((!defined $info->error()), 'No error on initial connection'); like($info->name(), qr/\w+/, 'name is "new system name"'); is($info->class(), 'SNMP::Info::Layer3::NetSNMP', 'class is Layer3::NetSNMP'); done_testing; sub _build_mibdirs { my $home = dir($ENV{HOME}, 'netdisco-mibs'); return map { dir($home, $_)->stringify } @{ _get_mibdirs_content($home) }; } sub _get_mibdirs_content { my $home = shift; my @list = map {s|$home/||; $_} grep {m/[a-z0-9]/} grep {-d} glob("$home/*"); return \@list; }