NAME
Test::Smoke::Reporter - OO interface for handling the testresults (mktest.out)
SYNOPSIS
use Test::Smoke;
use Test::Smoke::Reporter;
my $reporter = Test::Smoke::Reporter->new( %args );
$reporter->write_to_file;
$reporter->transport( $url );
DESCRIPTION
Handle the parsing of the mktest.out file.
METHODS
Test::Smoke::Reporter->new( %args )
[ Constructor | Public ]
Initialise a new object.
$reporter->verbose()
Accessor to the v
attribute.
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.
$self->read_parse( [$result_file] )
read_parse()
reads the smokeresults file and parses it.
$self->_read( $nameorref )
_read()
is a private method that handles the reading.
- Reference to a SCALAR smokeresults are in
$$nameorref
- Reference to an ARRAY smokeresults are in
@$nameorref
- Reference to a GLOB smokeresults are read from the filehandle
- Other values are 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.
$self->_post_process( )
_post_process()
sets up the report for easy printing. It needs to sort the buildenvironments, statusletters and test failures.
__posixdate($time)
Returns strftime("%F %T %z")
.
__rm_common_args( $cfg, \%common )
Removes the the arguments stored as keys in %common
from $cfg
.
$reporter->get_logfile()
Return the contents of $self->{lfile}
either by reading the file or returning the cached version.
$reporter->get_outfile()
Return the contents of $self->{outfile}
either by reading the file or returning the cached version.
$reporter->write_to_file( [$name] )
Write the $self->report
to file. If name is omitted it will use catfile( $self->{ddir}, $self->{rptfile} )
.
$reporter->smokedb_data()
Transport the report to the gateway. The transported data will also be stored locally in the file mktest.jsn
$reporter->report( )
Return a string with the full report
$reporter->_get_usernote()
Return $self->{user_note} if exists.
Check if $self->{un_file}
exists, and read contents into $self->{user_note}
.
$reporter->ccinfo( )
Return the string containing the C-compiler info.
$reporter->registered_patches()
Return a section with the locally applied patches (from patchlevel.h).
$reporter->harness3_options
Show indication of the options used for HARNESS_OPTIONS
.
$reporter->user_skipped_tests( )
Show indication for the fact that the user requested to skip some tests.
$reporter->ccmessages( )
Use a port of Jarkko's grepccerr script to report the compiler messages.
$reporter->nonfatalmessages( )
Find failures worth reporting that won't cause tests to fail
$reporter->preamble( )
Returns the header of the report.
$reporter->smoke_matrix( )
smoke_matrix()
returns a string with the result-letters and their configs.
$reporter->summary( )
Return the PASS or FAIL(x) string.
$reporter->has_test_failures( )
Returns true if @{ $reporter->{_failures}
.
$reporter->failures( )
report the failures (grouped by configurations).
$reporter->has_todo_passed( )
Returns true if @{ $reporter->{_todo_pasesd}
.
$reporter->todo_passed( )
report the todo that passed (grouped by configurations).
$reporter->has_mani_failures( )
Returns true if @{ $reporter->{_mani}
.
$reporter->mani_fail( )
report the MANIFEST failures.
$reporter->bldenv_legend( )
Returns a string with the legend for build-environments
$reporter->letter_legend( )
Returns a string with the legend for the letters in the matrix.
$reporter->signature()
Returns the signature for the e-mail message (starting with dash dash space newline) and some version numbers.
SEE ALSO
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:
http://www.perl.com/perl/misc/Artistic.html
http://www.gnu.org/copyleft/gpl.html
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.