]> git.imager.perl.org - imager.git/blobdiff - imcover.perl
test image file limits are thread localized
[imager.git] / imcover.perl
index 9aef475414289b2faab0b918fef81eaacdfcf1cf..253122a3e7acdaef43809e48cd51c0d35d68e984 100644 (file)
@@ -7,7 +7,9 @@ use Getopt::Long;
 
 my @tests;
 my $verbose;
+my $nodc;
 GetOptions("t|test=s" => \@tests,
+          "n" => \$nodc,
           "v" => \$verbose)
   or die;
 
@@ -18,14 +20,15 @@ if (-f 'Makefile') {
   run("$make clean");
 }
 run("cover -delete");
-run("perl Makefile.PL --coverage")
+run("perl Makefile.PL --coverage @ARGV")
   and die;
 run("$make 'OTHERLDFLAGS=-ftest-coverage -fprofile-arcs'")
   and die;
 
 {
-  local $ENV{DEVEL_COVER_OPTIONS} = "-db," . getcwd() . "/cover_db";
-  my $makecmd = "$make test TEST_VERBOSE=1 HARNESS_PERL_SWITCHES=-MDevel::Cover";
+  local $ENV{DEVEL_COVER_OPTIONS} = "-db," . getcwd() . "/cover_db,-coverage,statement,branch,condition,subroutine";
+  my $makecmd = "$make test TEST_VERBOSE=1";
+  $makecmd .= " HARNESS_PERL_SWITCHES=-MDevel::Cover" unless $nodc;
   if (@tests) {
     $makecmd .= " TEST_FILES='@tests'";
   }
@@ -38,6 +41,8 @@ my $mani = maniread();
 my %paths;
 for my $filename (keys %$mani) {
   next unless $filename =~ /\.(xs|c|im)$/;
+  (my $gcda = $filename) =~ s/\.\w+$/.gcda/;
+  next unless -f $gcda;
   if ($filename =~ m!^(\w+)/(\w+\.\w+)$!) {
     push @{$paths{$1}}, $2;
   }