The lcov tool from the Linux Test Project
(http://ltp.sourceforge.net/coverage/lcov.readme.php) can be used to
produce html output of code coverage information (I believe this looks
similar to Devel::Cover's output). A 'make cover' target should be
added to the Makefile and lcov should be run regularly over the parrot
source to help guide the testing.
> The lcov tool from the Linux Test Project
> (http://ltp.sourceforge.net/coverage/lcov.readme.php) can be used to
> produce html output of code coverage information (I believe this looks
> similar to Devel::Cover's output). A 'make cover' target should be
> added to the Makefile and lcov should be run regularly over the parrot
> source to help guide the testing.
Or feel free to let Devel::Cover generate the reports. Devel::Cover
comes with a program to translate gcov output into the format that
Devel::Cover understands. This is used to generate full Perl 5 coverage
reports. See http://www.test-smoke.org/perlcover.shtml
If coverage data are available for any other languages involved in
Parrot then similar conversions should be fairly simple.
And, although I personally prefer a "make cover" target, the Perl world
seems to have settled on "make testcover".
--
Paul Johnson - pa...@pjcj.net
http://www.pjcj.net
This is a great idea! This means we can use one tool for more parts
of the source. Thanks for pointing it out! :-)
Paul
There is also a script for performing code coverage of parrot: tools/
dev/parrot_coverage.pl. The script generates html output of the code
coverage information (gleaned from gcov). Is a makefile target the
best option here, or should the script be used? It would be good to
combine the output from the C-related parts of Parrot with that of the
Perl-related parts, as pointed out by Paul Jackson.
A 'make cover' target has been in trunk for a while now. All that is
required atm to close this ticket is proper integration with
Devel::Cover so that the Perl-related components could be tested for
coverage as well as the C-related components all from within the same
make target.
Paul