|
#!perl
my @modules ;
find(
sub {
return if $File::Find::name !~ /\.pm\z/;
my $found = $File::Find::name ;
$found =~ s{^lib/}{};
$found =~ s{[/\\]}{::}g;
$found =~ s/\.pm$//;
push @modules , $found ;
},
'lib' ,
);
my @scripts ;
if ( -d 'bin' ) {
find(
sub {
return unless -f;
my $found = $File::Find::name ;
push @scripts , $found ;
},
'bin' ,
);
}
my $plan = scalar ( @modules ) + scalar ( @scripts );
$plan ? (plan tests => $plan ) : (plan skip_all => "no tests to run" );
{
like( qx{ $^X -Ilib -e "require $_; print '$_ ok'" } , qr/^\s*$_ ok/ s, "$_ loaded ok" )
for sort @modules ;
SKIP: {
eval "use Test::Script 1.05; 1;" ;
skip "Test::Script needed to test script compilation" , scalar ( @scripts ) if $@;
foreach my $file ( @scripts ) {
my $script = $file ;
$script =~ s!.*/!!;
script_compiles( $file , "$script script compiles" );
}
}
}
|