diff options
author | Nicholas Clark <nick@ccl4.org> | 2005-09-17 14:33:33 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2005-09-17 14:33:33 +0000 |
commit | 30222c0f41971add379ea16c00a07c51f510eb5d (patch) | |
tree | d6918b5e27479db208a3c0daaf7c86c3656b0dda /pod | |
parent | 0bdfc961701ca2e58940f1481df64e9588138a1b (diff) | |
download | perl-30222c0f41971add379ea16c00a07c51f510eb5d.tar.gz |
Add "automating coverage tests" as a TODO
p4raw-id: //depot/perl@25430
Diffstat (limited to 'pod')
-rw-r--r-- | pod/perltodo.pod | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/pod/perltodo.pod b/pod/perltodo.pod index 7f4d55f45a..0ae7aea02a 100644 --- a/pod/perltodo.pod +++ b/pod/perltodo.pod @@ -49,6 +49,7 @@ See F<t/lib/1_compile.t> for the 3 remaining modules that need tests. Use Devel::Cover to ascertain the core's test coverage, then add tests that are currently missing. + =head2 test B A full test suite for the B module would be nice. @@ -136,6 +137,69 @@ the system does compressed man pages (same directory/different directory? same filename/different filename), as well as tweaking the F<installman> script to compress as necessary. +=head2 Add a code coverage target to the Makefile + +Make it easy for anyone to run Devel::Cover on the core's tests. The steps +to do this manually are roughly + +=over 4 + +=item * + +do a normal C<Configure>, but include Devel::Cover as a module to install +(see F<INSTALL> for how to do this) + +=item * + + make perl + +=item * + + cd t; HARNESS_PERL_SWITCHES=-MDevel::Cover ./perl -I../lib harness + +=item * + +Process the resulting Devel::Cover database + +=back + +This just give you the coverage of the F<.pm>s. To also get the C level +coverage you need to + +=over 4 + +=item * + +Additionally tell C<Configure> to use the appropriate C compiler flags for +C<gcov> + +=item * + + make perl.gcov + +(instead of C<make perl>) + +=item * + +After running the tests run C<gcov> to generate all the F<.gcov> files. +(Including down in the subdirectories of F<ext/> + +=item * + +(From the top level perl directory) run C<gcov2perl> on all the C<.gcov> files +to get their stats into the cover_db directory. + +=item * + +Then process the Devel::Cover database + +=back + +It would be good to add a single switch to C<Configure> to specify that you +wanted to perform perl level coverage, and another to specify C level +coverage, and have C<Configure> and the F<Makefile> do all the right things +automatically. + =head2 Make Config.pm cope with differences between build and installed perl Quite often vendors ship a perl binary compiled with their (pay-for) |