- GETTING STARTED
- UNDERSTANDING TEST GRADES
- PRIVACY WARNING
- SEE ALSO
- COPYRIGHT AND LICENSE
CPAN::Reporter - Adds CPAN Testers reporting to CPAN.pm
From the CPAN shell:
cpan> install Task::CPAN::Reporter cpan> reload cpan cpan> o conf init test_report
Installing Task::CPAN::Reporter will pull in additional dependencies that new CPAN Testers will need.
Advanced CPAN Testers with custom Test::Reporter::Transport setups may wish to install only CPAN::Reporter, which has fewer dependencies.
The CPAN Testers project captures and analyzes detailed results from building and testing CPAN distributions on multiple operating systems and multiple versions of Perl. This provides valuable feedback to module authors and potential users to identify bugs or platform compatibility issues and improves the overall quality and value of CPAN.
One way individuals can contribute is to send a report for each module that they test or install. CPAN::Reporter is an add-on for the CPAN.pm module to send the results of building and testing modules to the CPAN Testers project. Full support for CPAN::Reporter is available in CPAN.pm as of version 1.92.
The first step in using CPAN::Reporter is to install it using whatever version of CPAN.pm is already installed. CPAN.pm will be upgraded as a dependency if necessary.
cpan> install CPAN::Reporter
If CPAN.pm was upgraded, it needs to be reloaded.
cpan> reload cpan
If upgrading from a very old version of CPAN.pm, users may be prompted to renew their configuration settings, including the 'test_report' option to enable CPAN::Reporter.
If not prompted automatically, users should manually initialize CPAN::Reporter support. After enabling CPAN::Reporter, CPAN.pm will automatically continue with interactive configuration of CPAN::Reporter options.
cpan> o conf init test_report
Users will need to enter an email address in one of the following formats:
email@example.com John Doe <firstname.lastname@example.org> "John Q. Public" <email@example.com>
Users that are new to CPAN::Reporter should accept the recommended values for other configuration options.
Users will be prompted to create a Metabase profile file that uniquely identifies their test reports. See "The Metabase" below for details.
After completing interactive configuration, be sure to commit (save) the CPAN configuration changes.
cpan> o conf commit
See CPAN::Reporter::Config for advanced configuration settings.
CPAN::Reporter sends test reports to a server known as the Metabase. This requires an active Internet connection and a profile file. To create the profile, users will need to run
metabase-profile from a terminal window and fill the information at the prompts. This will create a file called
metabase_id.json in the current directory. That file should be moved to the
.cpanreporter directory inside the user's home directory.
Users with an existing metabase profile file (e.g. from another machine), should copy it into the
.cpanreporter directory instead of creating a new one. Profile files may be located outside the
.cpanreporter directory by following instructions in CPAN::Reporter::Config.
Once CPAN::Reporter is enabled and configured, test or install modules with CPAN.pm as usual.
For example, to test the File::Marker module:
cpan> test File::Marker
If a distribution's tests fail, users will be prompted to edit the report to add additional information that might help the author understand the failure.
UNDERSTANDING TEST GRADES
CPAN::Reporter will assign one of the following grades to the report:
pass-- distribution built and tested correctly
fail-- distribution failed to test correctly
unknown-- distribution failed to build, had no test suite or outcome was inconclusive
na--- distribution is not applicable to this platform and/or version of Perl
In returning results of the test suite to CPAN.pm, "pass" and "unknown" are considered successful attempts to "make test" or "Build test" and will not prevent installation. "fail" and "na" are considered to be failures and CPAN.pm will not install unless forced.
An error from Makefile.PL/Build.PL or make/Build will also be graded as "unknown" and a failure will be signaled to CPAN.pm.
If prerequisites specified in
Build.PL are not available, no report will be generated and a failure will be signaled to CPAN.pm.
CPAN::Reporter includes information in the test report about environment variables and special Perl variables that could be affecting test results in order to help module authors interpret the results of the tests. This includes information about paths, terminal, locale, user/group ID, installed toolchain modules (e.g. ExtUtils::MakeMaker) and so on.
These have been intentionally limited to items that should not cause harmful personal information to be revealed -- it does not include your entire environment. Nevertheless, please do not use CPAN::Reporter if you are concerned about the disclosure of this information as part of your test report.
Users wishing to review this information may choose to edit the report prior to sending it.
Please report any bugs or feature using the CPAN Request Tracker. Bugs can be submitted through the web interface at http://rt.cpan.org/Dist/Display.html?Queue=CPAN-Reporter
When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
Information about CPAN::Testers:
CPAN::Testers -- overview of CPAN Testers architecture stack
http://www.cpantesters.org -- project home with all reports
http://wiki.cpantesters.org -- documentation and wiki
Bugs / Feature Requests
Please report any bugs or feature requests through the issue tracker at http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Reporter. You will be notified automatically of any progress on your issue.
This is open source software. The code repository is available for public review and contribution under the terms of the license.
git clone https://github.com/dagolden/cpan-reporter.git
David Golden <firstname.lastname@example.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2006 by David Golden.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004