TAP::Parser::IteratorFactory - Figures out which SourceHandler objects to use for a given Source

NAME VERSION SYNOPSIS DESCRIPTION METHODSClass Methods Instance Methods SUBCLASSINGExample AUTHORS ATTRIBUTION SEE ALSO NAME TAP::Parser::IteratorFactory - Figures out which SourceHandler objects to use for a given Source VERSION Version 3.35 SYNOPSIS use TAP::Parser::IteratorFactory; my $factory = TAP::Parser::IteratorFactory->new({ %config }); my $iterator = $factory->make_iterator( $filename ); DESCRIPTION This is a factory class that takes a TAP::Parser::Source and runs it thro

TAP::Parser::Iterator::Stream - Iterator for filehandle-based TAP sources

NAME VERSION SYNOPSIS DESCRIPTION METHODSClass Methods Instance Methods ATTRIBUTION SEE ALSO NAME TAP::Parser::Iterator::Stream - Iterator for filehandle-based TAP sources VERSION Version 3.35 SYNOPSIS use TAP::Parser::Iterator::Stream; open( TEST, 'test.tap' ); my $it = TAP::Parser::Iterator::Stream->new(\*TEST); my $line = $it->next; DESCRIPTION This is a simple iterator wrapper for reading from filehandles, used by TAP::Parser. Unless you're writing a plugin or subclassing, you

TAP::Parser::Iterator::Process - Iterator for process-based TAP sources

NAME VERSION SYNOPSIS DESCRIPTION METHODSClass Methods Instance Methods ATTRIBUTION SEE ALSO NAME TAP::Parser::Iterator::Process - Iterator for process-based TAP sources VERSION Version 3.35 SYNOPSIS use TAP::Parser::Iterator::Process; my %args = ( command => ['python', 'setup.py', 'test'], merge => 1, setup => sub { ... }, teardown => sub { ... }, ); my $it = TAP::Parser::Iterator::Process->new(\%args); my $line = $it->next; DESCRIPTION This is a simple iter

TAP::Parser::Iterator::Array - Iterator for array-based TAP sources

NAME VERSION SYNOPSIS DESCRIPTION METHODSClass Methods Instance Methods ATTRIBUTION SEE ALSO NAME TAP::Parser::Iterator::Array - Iterator for array-based TAP sources VERSION Version 3.35 SYNOPSIS use TAP::Parser::Iterator::Array; my @data = ('foo', 'bar', baz'); my $it = TAP::Parser::Iterator::Array->new(\@data); my $line = $it->next; DESCRIPTION This is a simple iterator wrapper for arrays of scalar content, used by TAP::Parser. Unless you're writing a plugin or subclassing, y

TAP::Parser::Iterator - Base class for TAP source iterators

NAME VERSION SYNOPSIS DESCRIPTION METHODSClass Methods Instance Methods SUBCLASSINGExample SEE ALSO NAME TAP::Parser::Iterator - Base class for TAP source iterators VERSION Version 3.35 SYNOPSIS # to subclass: use TAP::Parser::Iterator (); use base 'TAP::Parser::Iterator'; sub _initialize { # see TAP::Object... } sub next_raw { ... } sub wait { ... } sub exit { ... } DESCRIPTION This is a simple iterator base class that defines TAP::Parser's iterator API. Iterators are typicall

TAP::Parser::Grammar - A grammar for the Test Anything Protocol.

NAME VERSION SYNOPSIS DESCRIPTION METHODSClass Methods Instance Methods TAP GRAMMAR SUBCLASSING SEE ALSO NAME TAP::Parser::Grammar - A grammar for the Test Anything Protocol. VERSION Version 3.35 SYNOPSIS use TAP::Parser::Grammar; my $grammar = $self->make_grammar({ iterator => $tap_parser_iterator, parser => $tap_parser, version => 12, }); my $result = $grammar->tokenize; DESCRIPTION TAP::Parser::Grammar tokenizes lines from a TAP::Parser::Iterator and constructs

TAP::Parser::Aggregator - Aggregate TAP::Parser results

NAME VERSION SYNOPSIS DESCRIPTION METHODSClass Methods Instance Methods Summary methods See Also NAME TAP::Parser::Aggregator - Aggregate TAP::Parser results VERSION Version 3.35 SYNOPSIS use TAP::Parser::Aggregator; my $aggregate = TAP::Parser::Aggregator->new; $aggregate->add( 't/00-load.t', $load_parser ); $aggregate->add( 't/10-lex.t', $lex_parser ); my $summary = <<'END_SUMMARY'; Passed: %s Failed: %s Unexpectedly succeeded: %s END_SUMMARY printf $summary, s

TAP::Parser - Parse TAP output

NAME VERSION SYNOPSIS DESCRIPTION METHODSClass Methods Instance Methods INDIVIDUAL RESULTSResult types Common type methods plan methods pragma methods comment methods bailout methods unknown methods test methods TOTAL RESULTSIndividual Results Pragmas Summary Results ignore_exit CALLBACKS TAP GRAMMAR BACKWARDS COMPATIBILITYDifferences SUBCLASSINGParser Components ACKNOWLEDGMENTS AUTHORS BUGS COPYRIGHT & LICENSE NAME TAP::Parser - Parse TAP output VERSION Version 3.35 SYNOPSIS use

TAP::Object - Base class that provides common functionality to all TAP::* modules

NAME VERSION SYNOPSIS DESCRIPTION METHODSClass Methods Instance Methods NAME TAP::Object - Base class that provides common functionality to all TAP::* modules VERSION Version 3.35 SYNOPSIS package TAP::Whatever; use strict; use base 'TAP::Object'; # new() implementation by TAP::Object sub _initialize { my ( $self, @args) = @_; # initialize your object return $self; } # ... later ... my $obj = TAP::Whatever->new(@args); DESCRIPTION TAP::Object provides a default construct

TAP::Harness - Run test scripts with statistics

NAME VERSION DESCRIPTION SYNOPSIS METHODSClass Methods Instance Methods CONFIGURINGPlugins Module::Build ExtUtils::MakeMaker prove WRITING PLUGINS SUBCLASSINGMethods REPLACING SEE ALSO NAME TAP::Harness - Run test scripts with statistics VERSION Version 3.35 DESCRIPTION This is a simple test harness which allows tests to be run and results automatically aggregated and output to STDOUT. SYNOPSIS use TAP::Harness; my $harness = TAP::Harness->new( \%args ); $harness->runtests(@tests);