Test::S...Reporter(3)
π Test::Smoke::Reporter β the vibe is "parse your test results, bestie" π
okay so real talk: this is the Perl doc for Test::Smoke::Reporter, part of the User Contributed Perl Documentation. She's an OO queen and she's here to handle your test results. Let's get into it π«Ά
β¨ NAME β¨
Test::Smoke::Reporter β the OO interface for handling the testresults (mktest.out). yes, that's the whole assignment. iconic. π
π SYNOPSIS π
use Test::Smoke;
use Test::Smoke::Reporter;
my $reporter = Test::Smoke::Reporter->new( %args );
$reporter->write_to_file;
$reporter->transport( $url );
look at her go. so clean. so slay. β¨
π¦ DESCRIPTION π¦
She handles the parsing of the mktest.out file. that's it, that's the job. she parses, she reports, she moves on. main character energy fr fr.
π METHODS π
π Test::Smoke::Reporter->new( %args )
[ Constructor | Public ]
Initialise a new object. birth of a legend, no cap. π
π $reporter->verbose()
Accessor to the "v" attribute. just peeking at her v vibe check. π
π Test::Smoke::Reporter->config( $key[, $value] )
[ Accessor | Public ]
config() is an interface to the package lexical %CONFIG, which holds all the default values for the new() arguments.
With the special key all_defaults this returns a reference to a hash holding all the default values. the whole roster. π
π $self->read_parse( [$result_file] )
read_parse() reads the smokeresults file and parses it. reading + parsing = the full combo, she ate.
π $self->_read( $nameorref )
_read() is a private method that handles the reading. don't dm her, she's private. π
Here's the tea on what $nameorref can be:
- Reference to a SCALAR smokeresults β they're in
$$nameorref - Reference to an ARRAY smokeresults β they're in
@$nameorref - Reference to a GLOB smokeresults β read from the filehandle
- Other values β taken as the filename for the smokeresults
π $self->_parse( )
Interpret the contents of the outfile and prepare them for processing, so report can be made. getting the data dolled up for its big moment. β¨
π $self->_post_process( )
_post_process() sets up the report for easy printing. She needs to sort the buildenvironments, statusletters and test failures. three things. sorted. organized. lowkey obsessed. π§
π __posixdate($time)
Returns "strftime("%F %T %z")". that's the format. periodt.
π __rm_common_args( $cfg, \%common )
Removes the the arguments stored as keys in %common from $cfg. (yes, the original says "the the", we are keeping it exactly, it's part of her charm π)
π $reporter->get_logfile()
Return the contents of "$self->{lfile}" either by reading the file or returning the cached version. cache girlie behavior, we love to see it. π
π $reporter->get_outfile()
Return the contents of "$self->{outfile}" either by reading the file or returning the cached version. same energy, different attribute. π
π $reporter->write_to_file( [$name] )
Write the "$self->report" to file. If name is omitted it will use "catfile( $self->{ddir}, $self->{rptfile} )". omitting is valid, she'll figure out the path herself. π
π $reporter->smokedb_data()
Transport the report to the gateway. The transported data will also be stored locally in the file mktest.jsn. she travels and she keeps receipts. π
π $reporter->report( )
Return a string with the full report. the whole thing. the masterpiece. π₯
π $reporter->_get_usernote()
Return $self->{user_note} if exists.
Check if "$self->{un_file}" exists, and read contents into "$self->{user_note}". note acquisition pipeline, fully automated. π
π $reporter->ccinfo( )
Return the string containing the C-compiler info. tell us about the compiler bestie. π
π $reporter->registered_patches()
Return a section with the locally applied patches (from patchlevel.h). patch receipts, all of them. π©Ή
π $reporter->harness3_options
Show indication of the options used for "HARNESS_OPTIONS". showing her harness settings off, as she should. πΈ
π $reporter->user_skipped_tests( )
Show indication for the fact that the user requested to skip some tests. sometimes we skip. it's fine. it's documented. π
π $reporter->ccmessages( )
Use a port of Jarkko's grepccerr script to report the compiler messages. shoutout Jarkko, the script is ported and it's doing the work. π
π $reporter->nonfatalmessages( )
Find failures worth reporting that won't cause tests to fail. the "we still need to talk about this" category. π
π $reporter->preamble( )
Returns the header of the report. the intro. the opening act. the moment before the moment. β¨
π $reporter->smoke_matrix( )
smoke_matrix() returns a string with the result-letters and their configs. a whole little grid of vibes and letters. π€
π $reporter->summary( )
Return the PASS or FAIL(x) string. the moment of truth, bestie. π
π $reporter->has_test_failures( )
Returns true if "@{ $reporter->{_failures}". (keeping the original syntax exactly, even though it's a lil quirky β we don't touch the code π
)
π $reporter->failures( )
report the failures (grouped by configurations). presenting the L's, nicely organized. π
π $reporter->has_todo_passed( )
Returns true if "@{ $reporter->{_todo_pasesd}". (yes, _todo_pasesd β that's the actual attribute name, keeping it character for character π«Ά)
π $reporter->todo_passed( )
report the todo that passed (grouped by configurations). the to-dos that showed up and showed out. β
π $reporter->has_mani_failures( )
Returns true if "@{ $reporter->{_mani}". checking on the manifest situation.
π $reporter->mani_fail( )
report the MANIFEST failures. manifest L's, reported. π
π $reporter->bldenv_legend( )
Returns a string with the legend for build-environments. a little key so you know what's what. ποΈ
π $reporter->letter_legend( )
Returns a string with the legend for the letters in the matrix. letters decoded, mystery solved. π
π $reporter->signature()
Returns the signature for the e-mail message (starting with dash dash space newline) and some version numbers. she signs off properly, always. π
π SEE ALSO π
Test::Smoke::Smoker
go read that one too, bestie, it's the whole ecosystem. π«Ά
π COPYRIGHT π
(c) 2002-2012, All rights reserved.
- Abe Timmerman <abeltje@cpan.org>
- H.Merijn Brand <hmbrand@cpan.org>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See:
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. fr fr, no warranty, bestie. π
and that's the whole page, my love π this was Test::Smoke::Reporter, from the User Contributed Perl Documentation, shipped with perl v5.42.0 and dated 2025-07-25. slay, go parse some results, you got this. πβ¨
π¦ where this page comes from
- fedora 43: perl-Test-Smoke 1.84-2.fc43 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms