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)

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::SourceHandler::Handle(3pm) 		 Perl Programmers Reference Guide		   TAP::Parser::SourceHandler::Handle(3pm)

TAP::Parser::SourceHandler::Handle - Stream TAP from an IO::Handle or a GLOB. VERSION
Version 3.26 SYNOPSIS
use TAP::Parser::Source; use TAP::Parser::SourceHandler::Executable; my $source = TAP::Parser::Source->new->raw( *TAP_FILE ); $source->assemble_meta; my $class = 'TAP::Parser::SourceHandler::Handle'; my $vote = $class->can_handle( $source ); my $iter = $class->make_iterator( $source ); DESCRIPTION
This is a raw TAP stored in an IO Handle TAP::Parser::SourceHandler class. It has 2 jobs: 1. Figure out if the TAP::Parser::Source it's given is an IO::Handle or GLOB containing raw TAP output ("can_handle"). 2. Creates an iterator for IO::Handle's & globs ("make_iterator"). Unless you're writing a plugin or subclassing TAP::Parser, you probably won't need to use this module directly. METHODS
Class Methods "can_handle" my $vote = $class->can_handle( $source ); Casts the following votes: 0.9 if $source is an IO::Handle 0.8 if $source is a glob "make_iterator" my $iterator = $class->make_iterator( $source ); Returns a new TAP::Parser::Iterator::Stream for the source. "iterator_class" The class of iterator to use, override if you're sub-classing. Defaults to TAP::Parser::Iterator::Stream. SUBCLASSING
Please see "SUBCLASSING" in TAP::Parser for a subclassing overview. SEE ALSO
TAP::Object, TAP::Parser, TAP::Parser::Iterator, TAP::Parser::Iterator::Stream, TAP::Parser::IteratorFactory, TAP::Parser::SourceHandler, TAP::Parser::SourceHandler::Executable, TAP::Parser::SourceHandler::Perl, TAP::Parser::SourceHandler::File, TAP::Parser::SourceHandler::RawTAP perl v5.18.2 2014-01-06 TAP::Parser::SourceHandler::Handle(3pm)
Man Page