Advanced use of Devel::Cover

Braga, Portugal -- 1st September 2005

Paul Johnson

www.pjcj.net

Devel::Cover

test_cover.jpg

Integration into the build process

build.jpg

ExtUtils::MakeMaker

makemaker.jpg

$ cover -test

ExtUtils::MakeMaker

Add to Makefile.PL:


sub MY::postamble
{
    qq[
testcover :
\t cover -test
    ]
}

ExtUtils::MakeMaker

Add to Makefile.PL:


sub MY::postamble
{
    qq[
testcover :
\t cover -delete && \\
   HARNESS_PERL_SWITCHES=-MDevel::Cover \$(MAKE) test && \\
   cover -report text
    ]
}

ExtUtils::MakeMaker

Add to Makefile.PL:


use ExtUtils::MakeMaker::Coverage;

Written by Steve Peters

Module::Build


$ ./Build testcover

$ DEVEL_COVER_OPTIONS=-ignore,Build ./Build testcover

File Selection

selection1.jpg

File Selection

selection2.jpg

File Selection

files.jpg

Covering mod_perl

mod_perl.jpg

Covering XS code

xs.jpg

Covering XS code

arc.jpg

Increasing Coverage

write.gif

Merging Databases

merge.jpg

Error Conditions

error.jpg

Error Conditions

big_mistake.jpg

Uncoverable code

waterfall.jpg

Uncoverable code

belvedere.jpg

Annotations

annotation.jpg

Reports

report.jpg

Problems Opportunities

problem.jpg

Future

future.jpg