|
Packit |
e6c8bb |
# $Id: 00-load.t 1611 2018-01-02 09:41:24Z willem $ -*-perl-*-
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
use strict;
|
|
Packit |
e6c8bb |
use Test::More;
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
my @module = qw(
|
|
Packit |
e6c8bb |
Net::DNS
|
|
Packit |
e6c8bb |
Net::DNS::SEC
|
|
Packit |
e6c8bb |
Data::Dumper
|
|
Packit |
e6c8bb |
Digest::BubbleBabble
|
|
Packit |
e6c8bb |
Digest::GOST
|
|
Packit |
e6c8bb |
Digest::HMAC
|
|
Packit |
e6c8bb |
Digest::MD5
|
|
Packit |
e6c8bb |
Digest::SHA
|
|
Packit |
e6c8bb |
Encode
|
|
Packit |
e6c8bb |
File::Spec
|
|
Packit |
e6c8bb |
IO::File
|
|
Packit |
e6c8bb |
IO::Select
|
|
Packit |
e6c8bb |
IO::Socket
|
|
Packit |
e6c8bb |
IO::Socket::INET
|
|
Packit |
e6c8bb |
IO::Socket::INET6
|
|
Packit |
e6c8bb |
IO::Socket::IP
|
|
Packit |
e6c8bb |
MIME::Base64
|
|
Packit |
e6c8bb |
Net::LibIDN
|
|
Packit |
e6c8bb |
Net::LibIDN2
|
|
Packit |
e6c8bb |
PerlIO
|
|
Packit |
e6c8bb |
Scalar::Util
|
|
Packit |
e6c8bb |
Socket
|
|
Packit |
e6c8bb |
Time::Local
|
|
Packit |
e6c8bb |
Win32::API
|
|
Packit |
e6c8bb |
Win32::IPHelper
|
|
Packit |
e6c8bb |
Win32::TieRegistry
|
|
Packit |
e6c8bb |
);
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
my @diag;
|
|
Packit |
e6c8bb |
foreach my $module (@module) {
|
|
Packit |
e6c8bb |
eval "require $module";
|
|
Packit |
e6c8bb |
my $version = eval { $module->VERSION } || next;
|
|
Packit |
e6c8bb |
push @diag, sprintf "%-25s %s", $module, $version;
|
|
Packit |
e6c8bb |
}
|
|
Packit |
e6c8bb |
diag join "\n\t", "\nThese tests were run using:", @diag;
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
plan tests => 20 + scalar(@Net::DNS::EXPORT);
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
use_ok('Net::DNS');
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
is( Net::DNS->version, $Net::DNS::VERSION, 'Net::DNS->version' );
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
#
|
|
Packit |
e6c8bb |
# Check on-demand loading using this (incomplete) list of RR packages
|
|
Packit |
e6c8bb |
my @rrs = qw( A AAAA CNAME MX NS NULL PTR SOA TXT );
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
sub is_rr_loaded {
|
|
Packit |
e6c8bb |
my $rr = shift;
|
|
Packit |
e6c8bb |
return $INC{"Net/DNS/RR/$rr.pm"} ? 1 : 0;
|
|
Packit |
e6c8bb |
}
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
#
|
|
Packit |
e6c8bb |
# Make sure that we start with none of the RR packages loaded
|
|
Packit |
e6c8bb |
foreach my $rr (@rrs) {
|
|
Packit |
e6c8bb |
ok( !is_rr_loaded($rr), "not yet loaded Net::DNS::RR::$rr" );
|
|
Packit |
e6c8bb |
}
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
#
|
|
Packit |
e6c8bb |
# Check that each RR package is loaded on demand
|
|
Packit |
e6c8bb |
local $SIG{__WARN__} = sub { }; # suppress warnings
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
foreach my $rr (@rrs) {
|
|
Packit |
e6c8bb |
my $object = eval { new Net::DNS::RR( name => '.', type => $rr ); };
|
|
Packit |
e6c8bb |
diag($@) if $@; # report exceptions
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
ok( is_rr_loaded($rr), "loaded package Net::DNS::RR::$rr" );
|
|
Packit |
e6c8bb |
}
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
#
|
|
Packit |
e6c8bb |
# Check that Net::DNS symbol table was imported correctly
|
|
Packit |
e6c8bb |
{
|
|
Packit |
e6c8bb |
no strict 'refs';
|
|
Packit |
e6c8bb |
foreach my $sym (@Net::DNS::EXPORT) {
|
|
Packit |
e6c8bb |
ok( defined &{$sym}, "$sym is imported" );
|
|
Packit |
e6c8bb |
}
|
|
Packit |
e6c8bb |
}
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
exit;
|
|
Packit |
e6c8bb |
|
|
Packit |
e6c8bb |
__END__
|
|
Packit |
e6c8bb |
|