I've wedged coverage analysis into Test::Harness (not quite ready for
release yet) and ran it over Perl's core test suite to see how well
the core modules are covered. I'm not 100% sure about this data,
Devel::Coverage needs alot of work and reported alot of false
negatives, but I think I can make a preliminary analysis:
- A bit less than half of all the core libraries have no coverage at all.
Some very important things are not covered: AutoSplit, CPAN, Cwd,
Data::Dumper, MakeMaker, Pod::Html, Pod::Man and Term::ReadLine. Some
of this can be fixed easily by pulling in tests from their CPAN
versions. (More on this next post).
- Of those covered, a smidge less than half have < 75% statement coverage.
- " " " , 20% have < 50% statement coverage.
That last bit is better than I expected. I would have thought more of
the tests would have been of the anemic type. It seems what's there is
in okay shape.
I'm not going to release the raw data just yet because Devel::Coverage
made alot of mistakes which I have to fix by hand. I'll see if I can
doctor up a list of uncovered modules.