use Test::More;
use File::Find;
my %prereqs = (
'Net::Proxy::Connector::connect' => [qw( LWP::UserAgent )],
'Net::Proxy::Connector::ssl' => [qw( IO::Socket::SSL )],
'Net::Proxy::Connector::connect_ssl' =>
[qw( LWP::UserAgent IO::Socket::SSL )],
);
# compute the list of modules
my @modules;
find( sub { push @modules, $File::Find::name if /\.pm$/ }, 'blib/lib' );
@modules = sort map { s!/!::!g; s/\.pm$//; s/^blib::lib:://; $_ } @modules;
plan tests => scalar @modules;
for my $module (@modules) {
SKIP: {
my $missing_prereqs = 0;
for my $prereq ( @{ $prereqs{$module} } ) {
eval "require $prereq";
$missing_prereqs++ if $@;
}
skip "Missing prerequisites for $module", 1 if $missing_prereqs;
use_ok($module);
}
}