#line 1
package Test::UseAllModules;
use strict;
use warnings;
use ExtUtils::Manifest qw( maniread );
our $VERSION = '0.09';
use Exporter;
our @ISA = qw/Exporter/;
our @EXPORT = qw/all_uses_ok/;
use Test::More;
sub all_uses_ok {
shift if @_ && $_[0] eq 'except';
my @exceptions = @_;
my @modules;
unless (-f 'MANIFEST') {
plan skip_all => 'no MANIFEST';
exit;
}
my $manifest = maniread();
READ:
foreach my $file (keys %{ $manifest }) {
if (my ($module) = $file =~ m|^lib/(.*)\.pm\s*$|) {
$module =~ s|/|::|g;
foreach my $rule (@exceptions) {
next READ if $module eq $rule || $module =~ /$rule/;
}
push @modules, $module;
}
}
unless (@modules) {
plan skip_all => 'no .pm files are found under the lib directory';
exit;
}
plan tests => scalar @modules;
my @failed;
foreach my $module (@modules) {
use_ok($module) or push @failed, $module;
}
BAIL_OUT( 'failed: ' . (join ',', @failed) ) if @failed;
}
1;
__END__
#line 124