When I began to write this posting, it was to get an answer to a
question. But I figured out a workaround halfway through, so now I'm
posting an answer.
I have happily been using Devel::Cover for more than a year on Perl
5.8.4 on Darwin (Mac OS X 10.3). Recently I upgraded to Perl 5.8.7.
Tonight I went to use Devel::Cover (v0.55, as previously) for the first
time since that Perl upgrade. At first, it no longer DWIMmed.
Specifically:
1. When I ran 'make test HARNESS_PERL_SWITCHES=MDevel::Cover', I got
this message:
t/01_test..........
This version of Devel::Cover was built with Perl version 5.008004.
It is now being run with Perl version 5.008007.
Attempting to make adjustments, but you may find that some of your
modules do
not have coverage data collected. You may need to alter the +-inc,
+-ignore
and +-select options.
t/01_test..........ok
I'd never had to set these options before; previously, D::C just worked.
Also, D::C took much longer to run.
2. I was testing coverage of a new module I'm developing called
File::Save::Home. When I called 'cover', I got a report on this module,
but also on every core module as well:
[snip]
---------------------------- ------ ------ ------ ------ ------
------ ------
File stmt bran cond sub pod
time total
---------------------------- ------ ------ ------ ------ ------
------ ------
...perl5/5.8.7/AutoLoader.pm 0.0 0.0 0.0 0.0 0.0
n/a 0.0
...l/lib/perl5/5.8.7/Carp.pm 0.0 0.0 0.0 0.0 0.0
n/a 0.0
...erl5/5.8.7/Digest/base.pm 0.0 0.0 n/a 0.0 0.0
n/a 0.0
...b/perl5/5.8.7/Exporter.pm 50.0 57.1 44.7 33.3 0.0
0.3 44.8
...5/5.8.7/Exporter/Heavy.pm 10.4 8.8 12.5 11.1 0.0
0.1 9.8
...l5/5.8.7/File/Basename.pm 28.2 25.8 7.7 50.0 100.0
0.1 27.8
[snip]
....8.7/warnings/register.pm 100.0 50.0 n/a 100.0 0.0
0.1 89.5
blib/lib/File/Save/Home.pm 77.1 44.4 n/a 100.0 100.0
0.3 73.4
Total 10.8 6.2 4.3 12.3 14.0
100.0 9.0
---------------------------- ------ ------ ------ ------ ------
------ ------
Writing HTML output to
/Users/jimk/work/fsh/File-Save-Home/cover_db/coverage.html ...
done.
This problem of excessive output is the same one I typically experience
using D::C (v0.47, I believe) on Windows. This is much more output than
I want or need.
I hypothesized that if I were to upgrade to a new version of D::C, it
would be compiled against Perl 5.8.7 and these problems might go away.
But 'cpan' did nothing because it detected that I was using the most
recent version of D::C.
So I downloaded the latest version of Devel::Cover from CPAN and
installed it manually. (I did call 'make install UNINSTALL=1'.) This
solved the problem. The message described above went away, and 'cover'
reported only the results for the module under development.
Jim Keenan