X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FTest%2FEOL.pm;h=860e427fa47b12122a894a8e4195e502a36bdc69;hb=5a0bc53aa2c44509276facd97dc6bc98b277bae3;hp=bd41a818773f39dfae6adc01e81a6f50e2d4ef8f;hpb=e52debaf9531a474e8e01ca753d308975c4804a8;p=catagits%2FTest-EOL.git diff --git a/lib/Test/EOL.pm b/lib/Test/EOL.pm index bd41a81..860e427 100644 --- a/lib/Test/EOL.pm +++ b/lib/Test/EOL.pm @@ -6,8 +6,8 @@ use warnings; use Test::Builder; use File::Spec; -use FindBin qw($Bin); use File::Find; +use Cwd qw/ cwd /; use vars qw( $PERL $UNTAINT_PATTERN $PERL_PATTERN); @@ -24,6 +24,8 @@ my %file_find_arg = ($] <= 5.006) ? () : ( my $Test = Test::Builder->new; my $updir = File::Spec->updir(); +my $no_plan; + sub import { my $self = shift; my $caller = caller; @@ -33,6 +35,11 @@ sub import { *{$caller.'::all_perl_files_ok'} = \&all_perl_files_ok; } $Test->exported_to($caller); + + if ($_[0] && $_[0] eq 'no_plan') { + shift; + $no_plan = 1; + } $Test->plan(@_); } @@ -42,12 +49,14 @@ sub _all_perl_files { } sub _all_files { - my @base_dirs = @_ ? @_ : File::Spec->catdir($Bin, $updir); + my @base_dirs = @_ ? @_ : cwd(); + my $options = pop(@base_dirs) if ref $base_dirs[-1] eq 'HASH'; my @found; my $want_sub = sub { return if ($File::Find::dir =~ m![\\/]?CVS[\\/]|[\\/]?\.svn[\\/]!); # Filter out cvs or subversion dirs/ return if ($File::Find::dir =~ m![\\/]?blib[\\/]libdoc$!); # Filter out pod doc in dist return if ($File::Find::dir =~ m![\\/]?blib[\\/]man\d$!); # Filter out pod doc in dist + return if ($File::Find::dir =~ m![\\/]?inc!); # Filter out Module::Install stuff return if ($File::Find::name =~ m!Build$!i); # Filter out autogenerated Build script return unless (-f $File::Find::name && -r _); push @found, File::Spec->no_upwards( $File::Find::name ); @@ -165,6 +174,7 @@ sub _module_to_path { } sub _make_plan { + return if $no_plan; unless ($Test->has_plan) { $Test->plan( 'no_plan' ); } @@ -213,6 +223,13 @@ or use Test::EOL; all_perl_files_ok({ trailing_whitespace => 1 }, @mydirs ); +or + + use Test::More; + use Test::EOL 'no_test'; + all_perl_files_ok(); + done_testing; + =head1 DESCRIPTION This module scans your project/distribution for any perl files (scripts,