App::Prove::State::Result.3pm

Langue: en

Version: 2010-01-22 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

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

VERSION

Version 3.20

DESCRIPTION

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.

SYNOPSIS

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

METHODS

Class Methods

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

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

state_version

Returns the current version of state storage.

test_class

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.

"generation"

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

"last_run_time"

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

"tests"

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',
   }
 
 

"test"

  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.

"test_names"

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

"remove"

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

"num_tests"

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

"raw"

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