Testing coverage-related work at 2013 Perl QA Hackathon

[email protected] (James E Keenan)
Newsgroups perl.qa
Message-ID <[email protected]>
The following was posted at 
http://2013.qa-hackathon.org/qa2013/wiki?node=Achievements, but I 
figured that it should be posted on-list as well.

##########

At the 2013 Perl QA Hackathon in Lancaster, England, testing 
coverage-related issues were handled by several participants, including 
the following:

Paul Johnson (pjcj)
Jim Keenan (kid51)
Dinis Rebolo (drebolo)
Abe Timmerman (abeltje)

... with remote assistance from Thomas Klausner (domm).  The work had 
two major focuses:

1. cpancover:  Improving reporting of testing coverage data on major 
CPAN modules, expanding on pjcj's cpancover.com.

2. perl5cover:  Creating a mechanism to run coverage analysis over the C 
source code and Perl libraries in the Perl 5 core distribution and to 
make that analysis available.

cpancover

The purpose of the hackathon's work with respect to cpancover was to 
integrate cpancover with metacpan -- specifically, to place a link on a 
distribution's metacpan page pointing to the appropriate page in cpancover.

perl5cover

perl5cover will have two major aspects: one centralized, one distributed.

First, a centralized server will run a coverage report on the Perl 5 
core distribution shortly after each release of a major (5.18.0) or 
minor (5.17.11) version of Perl.  The coverage will use 'gcov' to report 
on the Perl 5 source code written in C and Devel::Cover-based tools for 
the Perl libraries (.pm files) which ship with the core distribution. 
At any point in time, a limited number of recent releases of major and 
minor versions will be displayed as web pages.  However, plain-text 
versions of the coverage summaries will be retained indefinitely and be 
available for download.

Second, we will make available, probably in the form of a CPAN module, 
instructions showing how to run a coverage analysis on the core 
distribution at any commit.

If you are obsessed with how well covered the code in blead is at any 
moment in time, the second approach will be the better approach for you 
-- but you will have responsibility for maintaining the infrastructure.

If however, your objective is to identify inadequately tested parts of 
the Perl 5 core distribution and contribute appropriate, new tests to 
the test suite, then the first approach will be better.  Our philosophy 
will be "KISS"; we'll try to get a basic, not-difficult-to-maintain 
infrastructure up soon.  We'll worry about adding bells and whistles later.

This work will build on domm's App::ArchiveDevelCover, but we will 
probably end up creating one or more new CPAN distributions to achieve 
this.  The hackathon saw a lot of work as well on the creation of a 
stand-alone program to run coverage of the core.

Thank you very much.
Jim Keenan
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.