TAP::Parser::Source - Stream output from some source
Version 3.15
use TAP::Parser::Source; my $source = TAP::Parser::Source->new; my $stream = $source->source(['/usr/bin/ruby', 'mytest.rb'])->get_stream;
Takes a command and hopefully returns a stream from it.
new
my $source = TAP::Parser::Source->new;
Returns a new TAP::Parser::Source object.
TAP::Parser::Source
source
my $source = $source->source; $source->source(['./some_prog some_test_file']); # or $source->source(['/usr/bin/ruby', 't/ruby_test.rb']);
Getter/setter for the source. The source should generally consist of an array reference of strings which, when executed via &IPC::Open3::open3, should return a filehandle which returns successive rows of TAP. croaks if it doesn't get an arrayref.
croaks
get_stream
my $stream = $source->get_stream;
Returns a TAP::Parser::Iterator stream of the output generated by executing source. croaks if there was no command found.
croak
Must be passed an object that implements a make_iterator method. Typically this is a TAP::Parser instance.
make_iterator
merge
my $merge = $source->merge;
Sets or returns the flag that dictates whether STDOUT and STDERR are merged.
Please see "SUBCLASSING" in TAP::Parser for a subclassing overview.
package MyRubySource; use strict; use vars '@ISA'; use Carp qw( croak ); use TAP::Parser::Source; @ISA = qw( TAP::Parser::Source ); # expect $source->(['mytest.rb', 'cmdline', 'args']); sub source { my ($self, $args) = @_; my ($rb_file) = @$args; croak("error: Ruby file '$rb_file' not found!") unless (-f $rb_file); return $self->SUPER::source(['/usr/bin/ruby', @$args]); }
TAP::Object, TAP::Parser, TAP::Parser::Source::Perl,
To install Test::Harness, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Test::Harness
CPAN shell
perl -MCPAN -e shell install Test::Harness
For more information on module installation, please visit the detailed CPAN module installation guide.