App::Prove::State::Result(3p) Perl Programmers Reference Guide

App::Prove::State::Result(3p) Perl Programmers Reference Guide #

App::Prove::State::Result(3p) Perl Programmers Reference Guide

NNAAMMEE #

 App::Prove::State::Result - Individual test suite results.

VVEERRSSIIOONN #

 Version 3.44

DDEESSCCRRIIPPTTIIOONN #

 The "prove" command supports a "--state" option that instructs it to
 store persistent state across runs. This module encapsulates the results
 for a single test suite run.

SSYYNNOOPPSSIISS #

     # Re-run failed tests
     $ prove --state=failed,save -rbv

MMEETTHHOODDSS #

CCllaassss MMeetthhooddss _"_n_e_w_"

     my $result = App::Prove::State::Result->new({
         generation => $generation,
         tests      => \%tests,
     });

 Returns a new "App::Prove::State::Result" instance.

“"ssttaattee__vveerrssiioonn"” Returns the current version of state storage.

“"tteesstt__ccllaassss"” Returns the name of the class used for tracking individual tests. This class should either subclass from “App::Prove::State::Result::Test” or provide an identical interface.

 _"_g_e_n_e_r_a_t_i_o_n_"

 Getter/setter for the "generation" of the test suite run. The first
 generation is 1 (one) and subsequent generations are 2, 3, etc.

 _"_l_a_s_t___r_u_n___t_i_m_e_"

 Getter/setter for the time of the test suite run.

 _"_t_e_s_t_s_"

 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:

  't/foo.t' => {
     elapsed        => '0.0428488254547119',
     gen            => '7',
     last_pass_time => '1219328376.07815',
     last_result    => '0',
     last_run_time  => '1219328376.07815',
     last_todo      => '0',
     mtime          => '1191708862',
     seq            => '192',
     total_passes   => '6',
   }

 _"_t_e_s_t_"

  my $test = $result->test('t/customer/create.t');

 Returns an individual "App::Prove::State::Result::Test" instance for the
 given test name (usually the filename).  Will return a new
 "App::Prove::State::Result::Test" instance if the name is not found.

 _"_t_e_s_t___n_a_m_e_s_"

 Returns an list of test names, sorted by run order.

 _"_r_e_m_o_v_e_"

  $result->remove($test_name);            # remove the test
  my $test = $result->test($test_name);   # fatal error

 Removes a given test from results.  This is a no-op if the test name is
 not found.

 _"_n_u_m___t_e_s_t_s_"

 Returns the number of tests for a given test suite result.

 _"_r_a_w_"

 Returns a hashref of raw results, suitable for serialization by YAML.

perl v5.36.3 2023-02-15 App::Prove::State::Result(3p)