NAME
CPAN::Testers::Report - Creates CPAN Testers test-report objects
SYNOPSIS
use CPAN::Testers::Report;
use Config;
my $test_report = CPAN::Testers::Report->new();
$test_report->comments('Rejoice!');
$test_report->config(Config::myconfig()) || die $test_report->error();
$test_report->dist('Test-Reporter-1.34') || die $test_report->error();
$test_report->grade('pass') || die $test_report->error();
$test_report->from('Adam J. Foxson <afoxson@pobox.com>');
DESCRIPTION
Welcome to CPAN::Testers::Report. This is the first distribution in the CPAN::Testers namespace. This module is designed to be part of the next-generation implementation of the CPAN Tester's stack. When complete, this distribution and its constituents will obsolete Test::Reporter.
This module provides an abstraction for test reports. Objects will encapsulate all data and information about a single, specific test report. These objects can then be submitted to a user's transport of choice for delivery.
This is a developer's release. The interface is not stable; The API may change at any time without notice. This module is not yet recommended for general use.
METHODS
archname
Automatically calculated but can be overriden. This is a short name to characterize the current architecture.
comments
User-specified comments to include with the test report. This is oftentimes the output of a failed 'make test'. Optional.
config
This method should be the recipient of Config::myconfig(). Mandatory. If this method returns undef, it failed.
dist
Full distribution name and version of which this test report is about. For example 'Test-Reporter-1.34'. Mandatory. If this methods returns undef, it failed.
dist_name
Automatically calculated but can be overriden. This represents the distribution's name only. For example 'Test-Reporter'.
dist_vers
Automatically calculated but can be overriden. This represents the distribution's version only. For example '1.34'.
error
Returns an error message when an error has occurred.
from
Name and e-mail address of the tester. For example 'Adam J. Foxson <afoxson@pobox.com>'. Optional at the moment, but should probably be mandatory, and possibly even rfc2822-compliant.
grade
Grade for the result of 'make test'. Must be pass, fail, na, or unknown. 'Pass' indicates that all tests passed. 'Fail' indicates one or more tests failed. 'Na' indicates that the distribution will not work on this platform. 'Unknown' indicates that the distribution did not include tests. Mandatory. If this method returns undef, it failed.
interpreter
At the moment always returns 'perl'.
interpreter_vers1
Automatically calculated but can be overriden. This represents the interpreter's version. For example in the format of '5.8.8'. I need to find a better name for this method.
interpreter_vers2
Automatically calculated but can be overriden. This represents the interpreter's version. For example in the format of '5.008008'. I need to find a better name for this method.
interpreter_vers_extra
Automatically calculated but can be overriden. This usually represents the interpreter's patch/patchlevel, if available. For example 'patchlevel 12345'.
maturity
Automatically calculated but can be overriden. This represents the maturity of the distribution as determined by a heuristic. Will be one of 'released' or 'developer'. I'm not entirely convinced this method should be exposed.
new
Constructor. Accepts no arguments at this time.
osname
Automatically calculated but can be overriden. This is the operating system name.
osvers
Automatically calculated but can be overriden. This is the operating system version.
report_vers
Revision of the internal test report object format.
rfc2822_date
Automatically calculated but can be overriden. This is the RFC2822-compliant datetime.
via
The automation wrapping CPAN::Testers::Report. This is usually something like CPAN::Reporter, CPAN::YACSmoke. Optional. Not automatically calculated at the moment, but will be in short-order.
TODO
Make via() work automatically
Do validation on from() ?
Come up with better names for interpreter_vers1 and 2
Improve upon and add more tests
Add tests for error conditions
Enforce rfc2822 semantics on from() ?
Add a validate() method to ensure overall consistency?
Decide what to do about "interpreter"
Not sure I like from(). Separate name and e-mail?
Hmm. What to do about the subject.....
Make sure via() includes self!
Hm. It's 2am, I'll surely think up more tomorrow!
COPYRIGHT
Copyright (c) 2007 Adam J. Foxson and the CPAN Testers. All rights reserved.
LICENSE
This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
AUTHOR
Adam J. Foxson <afoxson@pobox.com>
With many thanks to:
Richard Soderberg <rsod@cpan.org>
Kirrily "Skud" Robert <skud@cpan.org>
Kurt Starsinic <Kurt.Starsinic@isinet.com>
Barbie <barbie@missbarbell.co.uk>
David Golden <dagolden@cpan.org>