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.

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->write_to_file( [$name] )

Write the $self->report to file. If name is ommitted 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->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.

$repoarter->has_test_failures( )

Returns true if @{ $reporter->{_failures}.

$reporter->failures( )

report the failures (grouped by configurations).

$repoarter->has_todo_passed( )

Returns true if @{ $reporter->{_todo_pasesd}.

$reporter->todo_passed( )

report the todo that passed (grouped by configurations).

$repoarter->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.

SEE ALSO

Test::Smoke::Smoker

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.