Test::Run::Straps - analyse the test results by using TAP::Parser.


my $strap = Test::Run::Straps->new();

Initialize a new strap.


Increment the _seen_header field. Used by Test::Run::Core.


Handles the current event according to the list of types in the cascade. It checks each type and if matches calls the appropriate _handle_${type}_event callback. Returns the type of the event that matched.

my $results = $self->analyze( $name, \@output_lines)

Analyzes the output @output_lines of a given test, to which the name $name is assigned. Returns the results $results of the test - an object of type Test::Run::Straps::StrapsTotalsObj .

@output_lines should be the output of the test including newlines.


Analyzes a TAP stream based on the TAP::Parser from $self->_create_parser().


Runs and analyzes the program file $filename. It will also use it as the name in the final report.


Filters @inc so it will fit into the environment of some operating systems which limit it (such as VMS).

[@filtered] = $strap->_clean_switches(\@switches)

Returns trimmed and blank-filtered switches from the user.


Returns the command (the command-line executable) that will run the test along with _switches().

Normally returns $^X, but can be over-rided using the Test_Interpreter accessor.

This method can be over-rided in custom test harnesses in order to run using different TAP producers than Perl.


Restores the old value of PERL5LIB. This is necessary on VMS. Does not do anything on other platforms.


Reset some fields so it will be ready to process the next file.


Calculates and returns the switches necessary to run the test.

local $ENV{PERL5LIB} = $self->_INC2PERL5LIB()

Takes the calculated library paths for running the test scripts and returns it as something that one can assign to the PERL5LIB environment variable.


This file is licensed under the MIT X11 License:


Shlomi Fish, .