Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

tap::parser::source::perl(3pm) [osx man page]

TAP::Parser::Source::Perl(3pm)				 Perl Programmers Reference Guide			    TAP::Parser::Source::Perl(3pm)

NAME
TAP::Parser::Source::Perl - Stream Perl output VERSION
Version 3.17 SYNOPSIS
use TAP::Parser::Source::Perl; my $perl = TAP::Parser::Source::Perl->new; my $stream = $perl->source( [ $filename, @args ] )->get_stream; DESCRIPTION
Takes a filename and hopefully returns a stream from it. The filename should be the name of a Perl program. Note that this is a subclass of TAP::Parser::Source. See that module for more methods. METHODS
Class Methods "new" my $perl = TAP::Parser::Source::Perl->new; Returns a new "TAP::Parser::Source::Perl" object. Instance Methods "source" Getter/setter the name of the test program and any arguments it requires. my ($filename, @args) = @{ $perl->source }; $perl->source( [ $filename, @args ] ); "croak"s if $filename could not be found. "switches" my $switches = $perl->switches; my @switches = $perl->switches; $perl->switches( @switches ); Getter/setter for the additional switches to pass to the perl executable. One common switch would be to set an include directory: $perl->switches( ['-Ilib'] ); "get_stream" my $stream = $source->get_stream($parser); Returns a stream of the output generated by executing "source". Must be passed an object that implements a "make_iterator" method. Typically this is a TAP::Parser instance. "shebang" Get the shebang line for a script file. my $shebang = TAP::Parser::Source::Perl->shebang( $some_script ); May be called as a class method "get_taint" Decode any taint switches from a Perl shebang line. # $taint will be 't' my $taint = TAP::Parser::Source::Perl->get_taint( '#!/usr/bin/perl -t' ); # $untaint will be undefined my $untaint = TAP::Parser::Source::Perl->get_taint( '#!/usr/bin/perl' ); SUBCLASSING
Please see "SUBCLASSING" in TAP::Parser for a subclassing overview. Example package MyPerlSource; use strict; use vars '@ISA'; use Carp qw( croak ); use TAP::Parser::Source::Perl; @ISA = qw( TAP::Parser::Source::Perl ); sub source { my ($self, $args) = @_; if ($args) { $self->{file} = $args->[0]; return $self->SUPER::source($args); } return $self->SUPER::source; } # use the version of perl from the shebang line in the test file sub _get_perl { my $self = shift; if (my $shebang = $self->shebang( $self->{file} )) { $shebang =~ /^#!(.*perl.*?)(?:(?:s)|(?:$))/; return $1 if $1; } return $self->SUPER::_get_perl(@_); } SEE ALSO
TAP::Object, TAP::Parser, TAP::Parser::Source, perl v5.12.5 2012-11-03 TAP::Parser::Source::Perl(3pm)

Check Out this Related Man Page

TAP::Parser::Source(3pm)				 Perl Programmers Reference Guide				  TAP::Parser::Source(3pm)

NAME
TAP::Parser::Source - Stream output from some source VERSION
Version 3.17 SYNOPSIS
use TAP::Parser::Source; my $source = TAP::Parser::Source->new; my $stream = $source->source(['/usr/bin/ruby', 'mytest.rb'])->get_stream; DESCRIPTION
Takes a command and hopefully returns a stream from it. METHODS
Class Methods "new" my $source = TAP::Parser::Source->new; Returns a new "TAP::Parser::Source" object. Instance Methods "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. "get_stream" my $stream = $source->get_stream; Returns a TAP::Parser::Iterator stream of the output generated by executing "source". "croak"s if there was no command found. Must be passed an object that implements a "make_iterator" method. Typically this is a TAP::Parser instance. "merge" my $merge = $source->merge; Sets or returns the flag that dictates whether STDOUT and STDERR are merged. SUBCLASSING
Please see "SUBCLASSING" in TAP::Parser for a subclassing overview. Example 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]); } SEE ALSO
TAP::Object, TAP::Parser, TAP::Parser::Source::Perl, perl v5.12.1 2010-04-26 TAP::Parser::Source(3pm)
Man Page