X-Git-Url: http://git.imager.perl.org/imager.git/blobdiff_plain/7fcc2ea85a31807ecff61145fcc79457ce7bf514..6ae0da851597c54545f4bbb212bbbec7a1abaf9d:/imcover.perl diff --git a/imcover.perl b/imcover.perl index 9aef4754..253122a3 100644 --- a/imcover.perl +++ b/imcover.perl @@ -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; }