1 package App::Prove::State::Result::Test;
9 App::Prove::State::Result::Test - Individual test results.
21 The C<prove> command supports a C<--state> option that instructs it to
22 store persistent state across runs. This module encapsulates the results for a
28 $ prove --state=fail,save -rbv
33 name => { method => 'name' },
34 elapsed => { method => 'elapsed', default => 0 },
35 gen => { method => 'generation', default => 1 },
36 last_pass_time => { method => 'last_pass_time', default => undef },
37 last_fail_time => { method => 'last_fail_time', default => undef },
38 last_result => { method => 'result', default => 0 },
39 last_run_time => { method => 'run_time', default => undef },
40 last_todo => { method => 'num_todo', default => 0 },
41 mtime => { method => 'mtime', default => undef },
42 seq => { method => 'sequence', default => 1 },
43 total_passes => { method => 'total_passes', default => 0 },
44 total_failures => { method => 'total_failures', default => 0 },
47 while ( my ( $key, $description ) = each %methods ) {
48 my $default = $description->{default};
50 *{ $description->{method} } = sub {
53 $self->{$key} = shift;
56 return $self->{$key} || $default;
69 my ( $class, $arg_for ) = @_;
71 bless $arg_for => $class;
74 =head2 Instance Methods
78 The name of the test. Usually a filename.
82 The total elapsed times the test took to run, in seconds from the epoch..
86 The number for the "generation" of the test run. The first generation is 1
87 (one) and subsequent generations are 2, 3, etc.
89 =head3 C<last_pass_time>
91 The last time the test program passed, in seconds from the epoch.
93 Returns C<undef> if the program has never passed.
95 =head3 C<last_fail_time>
97 The last time the test suite failed, in seconds from the epoch.
99 Returns C<undef> if the program has never failed.
103 Returns the mtime of the test, in seconds from the epoch.
107 Returns a hashref of raw test data, suitable for serialization by YAML.
111 Currently, whether or not the test suite passed with no 'problems' (such as
116 The total time it took for the test to run, in seconds. If C<Time::HiRes> is
117 available, it will have finer granularity.
121 The number of tests with TODO directives.
125 The order in which this test was run for the given test suite result.
127 =head3 C<total_passes>
129 The number of times the test has passed.
131 =head3 C<total_failures>
133 The number of times the test has failed.
141 # this is backwards-compatibility hack and is not gauranteed.