diff options
Diffstat (limited to 'perl/SNMP/t/conf.t')
-rw-r--r-- | perl/SNMP/t/conf.t | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/perl/SNMP/t/conf.t b/perl/SNMP/t/conf.t new file mode 100644 index 0000000..9a37048 --- /dev/null +++ b/perl/SNMP/t/conf.t @@ -0,0 +1,53 @@ +#!./perl + +BEGIN { + unless(grep /blib/, @INC) { + chdir 't' if -d 't'; + @INC = '../lib' if -d '../lib'; + } + $ENV{'MIBS'} = ''; +} + +# This merely checks to see if the default_store routines work from +# read configuration files. Functionally, if this fails then it's a +# serious problem because they linked with static libraries instead of +# shared ones as the memory space is different. + +use Test; +BEGIN {plan tests => 3} + +my $envsep = ($^O =~ /win32/i) ? ';' : ':'; + +SNMP::setenv('SNMPCONFPATH', '.' . $envsep . 't', 1); + +ok(1); # just start up + +use SNMP; +use NetSNMP::default_store(':all'); + +# should be 0, as it's un-initialized +$myint = netsnmp_ds_get_int(NETSNMP_DS_LIBRARY_ID, + NETSNMP_DS_LIB_NUMERIC_TIMETICKS); + +ok($myint == 0); + +SNMP::init_snmp("conftest"); + +$myint = netsnmp_ds_get_boolean(NETSNMP_DS_LIBRARY_ID, + NETSNMP_DS_LIB_NUMERIC_TIMETICKS); + +# ok, should be 1 as it's initalized by the snmp.conf config file. +ok($myint == 1); + +# this is a pretty major error, so if it's not true we really really +# print a big big warning. Technically, I suspect this is a bad thing +# to do in perl tests but... +if ($myint != 1) { + die "\n\n\n" . "*" x 75 . "\nBIG PROBLEM($myint): I wasn't able to read + data from a configuration file. This likely means that you've + compiled the net-snmp package with static libraries, which can + cause real problems with the perl module. Please reconfigure your + net-snmp package for use with shared libraries (run configure with + --enable-shared)\n" . "*" x 75 . "\n\n\n\n"; +} + |