Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

54 lines (47 sloc) 1.184 kb
#!perl -w
use strict;
use Config;
use ExtUtils::Manifest 'maniread';
use Cwd;
my $make = $Config{make};
# if there's a way to make with profiling for a recursive build like
# Imager I don't see how
if (-f 'Makefile') {
system "$make clean";
}
system "cover -delete";
system "perl Makefile.PL --coverage"
and die;
system "$make 'OTHERLDFLAGS=-ftest-coverage -fprofile-arcs'"
and die;
{
local $ENV{DEVEL_COVER_OPTIONS} = "-db," . getcwd() . "/cover_db";
system "$make test TEST_VERBOSE=1 HARNESS_PERL_SWITCHES=-MDevel::Cover";
}
# build gcov files
my $mani = maniread();
# split by directory
my %paths;
for my $filename (keys %$mani) {
next unless $filename =~ /\.(xs|c|im)$/;
if ($filename =~ m!^(\w+)/(\w+\.\w+)$!) {
push @{$paths{$1}}, $2;
}
else {
push @{$paths{''}}, $filename;
}
}
for my $path (keys %paths) {
if ($path) {
system "cd $path ; gcov @{$paths{$path}} ; cd ..";
}
else {
system "gcov @{$paths{$path}}";
}
my $dir = $path ? $path : '.';
for my $file (@{$paths{$path}}) {
system "gcov2perl $dir/$file.gcov";
}
}
my @dbs = "cover_db", map "$_/cover_db", grep $_, keys %paths;
system "cover -ignore_re '^t/'";
Jump to Line
Something went wrong with that request. Please try again.