.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.13)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\" ========================================================================
.\"
.IX Title "App::Prove::State::Result 3"
.TH App::Prove::State::Result 3 "2018-03-19" "perl v5.10.1" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
App::Prove::State::Result \- Individual test suite results.
.SH "VERSION"
.IX Header "VERSION"
Version 3.42
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
The \f(CW\*(C`prove\*(C'\fR command supports a \f(CW\*(C`\-\-state\*(C'\fR option that instructs it to
store persistent state across runs. This module encapsulates the results for a
single test suite run.
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& # Re\-run failed tests
\& $ prove \-\-state=failed,save \-rbv
.Ve
.SH "METHODS"
.IX Header "METHODS"
.SS "Class Methods"
.IX Subsection "Class Methods"
\fI\f(CI\*(C`new\*(C'\fI\fR
.IX Subsection "new"
.PP
.Vb 4
\& my $result = App::Prove::State::Result\->new({
\& generation => $generation,
\& tests => \e%tests,
\& });
.Ve
.PP
Returns a new \f(CW\*(C`App::Prove::State::Result\*(C'\fR instance.
.ie n .SS """state_version"""
.el .SS "\f(CWstate_version\fP"
.IX Subsection "state_version"
Returns the current version of state storage.
.ie n .SS """test_class"""
.el .SS "\f(CWtest_class\fP"
.IX Subsection "test_class"
Returns the name of the class used for tracking individual tests. This class
should either subclass from \f(CW\*(C`App::Prove::State::Result::Test\*(C'\fR or provide an
identical interface.
.PP
\fI\f(CI\*(C`generation\*(C'\fI\fR
.IX Subsection "generation"
.PP
Getter/setter for the \*(L"generation\*(R" of the test suite run. The first
generation is 1 (one) and subsequent generations are 2, 3, etc.
.PP
\fI\f(CI\*(C`last_run_time\*(C'\fI\fR
.IX Subsection "last_run_time"
.PP
Getter/setter for the time of the test suite run.
.PP
\fI\f(CI\*(C`tests\*(C'\fI\fR
.IX Subsection "tests"
.PP
Returns the tests for a given generation. This is a hashref or a hash,
depending on context called. The keys to the hash are the individual
test names and the value is a hashref with various interesting values.
Each k/v pair might resemble something like this:
.PP
.Vb 11
\& \*(Aqt/foo.t\*(Aq => {
\& elapsed => \*(Aq0.0428488254547119\*(Aq,
\& gen => \*(Aq7\*(Aq,
\& last_pass_time => \*(Aq1219328376.07815\*(Aq,
\& last_result => \*(Aq0\*(Aq,
\& last_run_time => \*(Aq1219328376.07815\*(Aq,
\& last_todo => \*(Aq0\*(Aq,
\& mtime => \*(Aq1191708862\*(Aq,
\& seq => \*(Aq192\*(Aq,
\& total_passes => \*(Aq6\*(Aq,
\& }
.Ve
.PP
\fI\f(CI\*(C`test\*(C'\fI\fR
.IX Subsection "test"
.PP
.Vb 1
\& my $test = $result\->test(\*(Aqt/customer/create.t\*(Aq);
.Ve
.PP
Returns an individual \f(CW\*(C`App::Prove::State::Result::Test\*(C'\fR instance for the
given test name (usually the filename). Will return a new
\&\f(CW\*(C`App::Prove::State::Result::Test\*(C'\fR instance if the name is not found.
.PP
\fI\f(CI\*(C`test_names\*(C'\fI\fR
.IX Subsection "test_names"
.PP
Returns an list of test names, sorted by run order.
.PP
\fI\f(CI\*(C`remove\*(C'\fI\fR
.IX Subsection "remove"
.PP
.Vb 2
\& $result\->remove($test_name); # remove the test
\& my $test = $result\->test($test_name); # fatal error
.Ve
.PP
Removes a given test from results. This is a no-op if the test name is not
found.
.PP
\fI\f(CI\*(C`num_tests\*(C'\fI\fR
.IX Subsection "num_tests"
.PP
Returns the number of tests for a given test suite result.
.PP
\fI\f(CI\*(C`raw\*(C'\fI\fR
.IX Subsection "raw"
.PP
Returns a hashref of raw results, suitable for serialization by \s-1YAML\s0.
Copyright 2K16 - 2K18 Indonesian Hacker Rulez