CPAN Testers is only made possible with the support of our sponsors.
For more information on sponsoring, please visit the I CPAN Testers website.

Upgrade Notice

The CPAN Testers Wiki site has been upgraded since you last accessed the site. Please press the F5 key or CTRL-R to refresh your browser cache to use the latest javascript and CSS files.



A unified library for test programs to use to create and submit reports about the PL/make/test cycle of CPAN distributions

The problem

Currently, CPAN-based testing uses CPAN::Reporter to run tests, capture output and grade the result. CPANPLUS-based testing uses CPANPLUS itself to do the same. Both have slightly different logic for generating a grade, particularly around what reports should be marked "NA" versus just discarded.

Both also gather supplementary information about prerequisites, environment variables and so on. The information they capture is similar, but not identical.

Both then use Test::Reporter to populate a text file and to transmit that text file through some transport mechanism. Test::Reporter imposes particular constraints on the format of the report, is responsible for the "subject line" and adds the "perl -V" output.

Moreover, the reports submitted are just plain text, which hinders any systematic analysis of the content such as versions of prerequisites or toolchain modules that might be contributing to

The goal

The goal for "version 2.0" is a single "CPAN Testers Client" library that would collect and standardize the functions currently spread among CPANPLUS, CPAN::Reporter and Test::Reporter. It should also generate the report as structured data that can be passed to a central database. (See CPAN Metabase.)


Some initial work has begun to define a CPAN-Testers-Report object, though this has not yet been integrated with CPANMetabase object model.


(Needs more detail on what's necessary for each of these.)

  • Harness to run tests and capture output
  • CPAN Testers report object
  • Grader to generate a report
  • Editor to let user edit or comment (text or GUI)
  • Transporter to submit report


    • CPAN-Reporter git://
    • Test-Reporter git://
    • CPAN::Testers git://
    • CPAN::Testers::Report git://