1 .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3
4 .\" ========================================================================
5 .de Sh \" Subsection heading
13 .de Sp \" Vertical space (when we can't use .PP)
17 .de Vb \" Begin verbatim text
22 .de Ve \" End verbatim text
26 .\" Set up some character translations and predefined strings. \*(-- will
27 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28 .\" double quote, and \*(R" will give a right double quote. | will give a
29 .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
30 .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
31 .\" expand to `' in nroff, nothing in troff, for use with C<>.
33 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
37 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38 . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
51 .\" If the F register is turned on, we'll generate index entries on stderr for
52 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53 .\" entries marked with X<> in POD. Of course, you'll have to process the
54 .\" output yourself in some meaningful fashion.
57 . tm Index:\\$1\t\\n%\t"\\$2"
63 .\" For nroff, turn off justification. Always turn off hyphenation; it makes
64 .\" way too many mistakes in technical documents.
68 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69 .\" Fear. Run. Save yourself. No user-serviceable parts.
70 . \" fudge factors for nroff and troff
79 . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
85 . \" simple accents for nroff and troff
95 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
102 . \" troff and (daisy-wheel) nroff accents
103 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110 .ds ae a\h'-(\w'a'u*4/10)'e
111 .ds Ae A\h'-(\w'A'u*4/10)'E
112 . \" corrections for vroff
113 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115 . \" for low resolution devices (crt and lpr)
116 .if \n(.H>23 .if \n(.V>19 \
129 .\" ========================================================================
131 .IX Title "TAP::Parser::Source 3"
132 .TH TAP::Parser::Source 3 "2009-05-05" "perl v5.8.7" "User Contributed Perl Documentation"
134 TAP::Parser::Source \- Stream output from some source
139 .IX Header "SYNOPSIS"
141 \& use TAP::Parser::Source;
142 \& my $source = TAP::Parser::Source\->new;
143 \& my $stream = $source\->source(['/usr/bin/ruby', 'mytest.rb'])\->get_stream;
146 .IX Header "DESCRIPTION"
147 Takes a command and hopefully returns a stream from it.
151 .IX Subsection "Class Methods"
152 \fI\f(CI\*(C`new\*(C'\fI\fR
156 \& my $source = TAP::Parser::Source\->new;
159 Returns a new \f(CW\*(C`TAP::Parser::Source\*(C'\fR object.
160 .Sh "Instance Methods"
161 .IX Subsection "Instance Methods"
162 \fI\f(CI\*(C`source\*(C'\fI\fR
163 .IX Subsection "source"
166 \& my $source = $source\->source;
167 \& $source\->source(['./some_prog some_test_file']);
172 \& $source\->source(['/usr/bin/ruby', 't/ruby_test.rb']);
175 Getter/setter for the source. The source should generally consist of an array
176 reference of strings which, when executed via &IPC::Open3::open3,
177 should return a filehandle which returns successive rows of \s-1TAP\s0. \f(CW\*(C`croaks\*(C'\fR if
178 it doesn't get an arrayref.
180 \fI\f(CI\*(C`get_stream\*(C'\fI\fR
181 .IX Subsection "get_stream"
184 \& my $stream = $source\->get_stream;
187 Returns a TAP::Parser::Iterator stream of the output generated by executing
188 \&\f(CW\*(C`source\*(C'\fR. \f(CW\*(C`croak\*(C'\fRs if there was no command found.
190 Must be passed an object that implements a \f(CW\*(C`make_iterator\*(C'\fR method.
191 Typically this is a TAP::Parser instance.
193 \fI\f(CI\*(C`merge\*(C'\fI\fR
194 .IX Subsection "merge"
197 \& my $merge = $source\->merge;
200 Sets or returns the flag that dictates whether \s-1STDOUT\s0 and \s-1STDERR\s0 are merged.
202 .IX Header "SUBCLASSING"
203 Please see \*(L"\s-1SUBCLASSING\s0\*(R" in TAP::Parser for a subclassing overview.
205 .IX Subsection "Example"
207 \& package MyRubySource;
216 \& use Carp qw( croak );
217 \& use TAP::Parser::Source;
221 \& @ISA = qw( TAP::Parser::Source );
225 \& # expect $source\->(['mytest.rb', 'cmdline', 'args']);
227 \& my ($self, $args) = @_;
228 \& my ($rb_file) = @$args;
229 \& croak("error: Ruby file '$rb_file' not found!") unless (\-f $rb_file);
230 \& return $self\->SUPER::source(['/usr/bin/ruby', @$args]);
234 .IX Header "SEE ALSO"
237 TAP::Parser::Source::Perl,