CPAN::Reporter(3pm)

πŸ“¦
version 1.2020 Β· 5 versions
, in ubuntu resolute, ubuntu stonking

πŸ’– NAME πŸ’–

okay so bestie, meet CPAN::Reporter(3pm) β€” the add-on that gives CPAN.pm the ability to send test reports to the CPAN Testers project. it literally adds CPAN Testers reporting to CPAN.pm. that's the whole vibe. πŸŽ€


✨ VERSION ✨

this is version 1.2020 πŸ’…


🌸 SYNOPSIS 🌸

straight from the CPAN shell, bestie:

cpan> install Task::CPAN::Reporter
cpan> reload cpan
cpan> o conf init test_report

so installing Task::CPAN::Reporter will pull in the extra dependencies that new CPAN Testers need. it's giving starter pack 🫢

but if you're an advanced CPAN Tester with custom Test::Reporter::Transport setups already going? you might wanna install only CPAN::Reporter instead, because it has fewer dependencies. lowkey the minimal girlie route ✨


πŸ¦‹ DESCRIPTION πŸ¦‹

the CPAN Testers project captures and analyzes detailed results from building and testing CPAN distributions across multiple operating systems and multiple versions of Perl. this gives valuable feedback to module authors and potential users β€” it helps y'all spot bugs or platform compatibility issues, and it improves the overall quality and value of CPAN. iconic behaviour, no cap. πŸ‘‘

one way individuals can contribute is to send a report for every module they test or install. CPAN::Reporter is an add-on for the CPAN.pm module that sends the results of building and testing modules over to the CPAN Testers project. and good news: full support for CPAN::Reporter has been available in CPAN.pm as of version 1.92. periodt. πŸ’–


🌈 GETTING STARTED 🌈

πŸŽ€ Installation

first step, bestie: install it using whatever version of CPAN.pm you already have installed. CPAN.pm will be upgraded as a dependency if necessary. she handles herself. πŸ’…

cpan> install CPAN::Reporter

if CPAN.pm got upgraded, you need to reload it:

cpan> reload cpan

πŸ“ Configuration

if you're upgrading from a very old version of CPAN.pm, users may be prompted to renew their configuration settings β€” including the 'test_report' option that enables CPAN::Reporter. the app is checking in on you fr fr.

if you're not prompted automatically, you should manually initialize CPAN::Reporter support. after enabling CPAN::Reporter, CPAN.pm will automatically continue with interactive configuration of the CPAN::Reporter options. so thoughtful πŸ₯Ή

cpan> o conf init test_report

users will need to enter an email address in one of these formats:

johndoe@example.com
John Doe <johndoe@example.com>
"John Q. Public" <johnqpublic@example.com>

if you're new to CPAN::Reporter, you should just accept the recommended values for the other configuration options. trust the process ✨

users will be prompted to create a Metabase profile file that uniquely identifies their test reports. see "The Metabase" below for the details. πŸ‘€

after you finish interactive configuration, be sure to commit (save) the CPAN configuration changes:

cpan> o conf commit

see CPAN::Reporter::Config for advanced configuration settings.

πŸ’œ The Metabase

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 need to run metabase-profile from a terminal window and fill in the information at the prompts. this will create a file called metabase_id.json in the current directory. that file should then be moved to the .cpanreporter directory inside the user's home directory. 🏠✨

if you already have an existing metabase profile file (like, from another machine), you should copy it into the .cpanreporter directory instead of making a new one. profile files may be located outside the .cpanreporter directory by following the instructions in CPAN::Reporter::Config. iykyk πŸ¦‹

🌸 Default Test Comments

this module puts default text into the "TESTER COMMENTS" section. typically that's "none provided" if you're doing interactive testing β€” or, if you're doing smoke testing that sets $ENV{AUTOMATED_TESTING} to a true value, it's "this report is from an automated smoke testing program and was not reviewed by a human for accuracy." if CPAN::Reporter is configured to allow editing of the report, this can be edited during submission. πŸ’…

if you want to override the default comment, you can create a file named comment.txt in the configuration directory (typically .cpanreporter under the user's home directory) with the default comment you'd like to appear. make it cute. πŸŽ€

note that if your test is an automated smoke test ($ENV{AUTOMATED_TESTING} is set to a true value), the smoke test notice ("this report is from an automated smoke testing program and was not reviewed by a human for accuracy") is included along with a blank line before your comment.txt, so that it is always possible to distinguish automated tests from non-automated tests that use this module. very demure, very mindful. πŸ™ˆ

🧚 Using CPAN::Reporter

once CPAN::Reporter is enabled and configured, just test or install modules with CPAN.pm as usual. main character energy, zero extra steps. πŸ‘‘

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. teamwork makes the dream work 🫢


⭐ UNDERSTANDING TEST GRADES ⭐

CPAN::Reporter will assign one of these 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 "Makefile.PL" or "Build.PL" are not available, no report will be generated and a failure will be signaled to CPAN.pm.


🚨 PRIVACY WARNING 🚨

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. bestie, protect your peace πŸ’œ

users wishing to review this information may choose to edit the report prior to sending it. you have the power 🫢


πŸ’€ BUGS πŸ’€

using command_timeout on Linux may cause problems. see https://rt.cpan.org/Ticket/Display.html?id=62310 😭

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. receipts, bestie, always bring receipts πŸŽ€


πŸ’… SEE ALSO πŸ’…

information about CPAN::Testers:

additional documentation:

  • CPAN::Reporter::Config β€” advanced configuration settings
  • CPAN::Reporter::FAQ β€” hints and tips

🫢 SUPPORT 🫢

🌟 Bugs / Feature Requests

please report any bugs or feature requests through the issue tracker at https://github.com/cpan-testers/CPAN-Reporter/issues. you will be notified automatically of any progress on your issue. we keep you in the loop, always ✨

🌈 Source Code

this is open source software. the code repository is available for public review and contribution under the terms of the license.

https://github.com/cpan-testers/CPAN-Reporter

git clone https://github.com/cpan-testers/CPAN-Reporter.git

πŸ‘‘ AUTHOR πŸ‘‘

David Golden <dagolden@cpan.org>


🌸 CONTRIBUTORS 🌸

  • Alexandr Ciornii <alexchorny@gmail.com>
  • Breno G. de Oliveira <garu@cpan.org>
  • Christian Walde <walde.christian@googlemail.com>
  • David Cantrell <david@cantrell.org.uk>
  • Ed J <mohawk2@users.noreply.github.com>
  • Graham Knop <haarg@haarg.org>
  • HΓ₯kon HΓ¦gland <hakon.hagland@gmail.com>
  • James E Keenan <jkeenan@cpan.org>
  • J. Maslak <jmaslak@antelope.net>
  • JosΓ© JoaquΓ­n Atria <jjatria@cpan.org>
  • Kent Fredric <kentfredric@gmail.com>
  • Leon Timmermans <fawaka@gmail.com>
  • Matthew Musgrove <mr.muskrat@gmail.com>
  • Patrice Clement <monsieurp@gentoo.org>
  • Reini Urban <rurban@cpanel.net>
  • Scott Wiersdorf <scott@perlcode.org>
  • Slaven Rezic <slaven@rezic.de>

this software is Copyright (c) 2023 by David Golden.

this is free software, licensed under:

The Apache License, Version 2.0, January 2004

okay bestie that's the whole page, we ate and left no crumbs πŸ’…βœ¨ this was perl v5.40.0 energy, dated 2024-08-17, and you read the whole CPAN::Reporter(3pm) page like a legend. go send some reports, the module authors will love you for it πŸ«ΆπŸ’–πŸŽ€

πŸ“¦ where this page comes from