diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /upstream/mageia-cauldron/man3pm/TAP::Parser::Source.3pm | |
parent | Initial commit. (diff) | |
download | manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip |
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/mageia-cauldron/man3pm/TAP::Parser::Source.3pm')
-rw-r--r-- | upstream/mageia-cauldron/man3pm/TAP::Parser::Source.3pm | 273 |
1 files changed, 273 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man3pm/TAP::Parser::Source.3pm b/upstream/mageia-cauldron/man3pm/TAP::Parser::Source.3pm new file mode 100644 index 00000000..2299d603 --- /dev/null +++ b/upstream/mageia-cauldron/man3pm/TAP::Parser::Source.3pm @@ -0,0 +1,273 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. +.ie n \{\ +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is >0, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{\ +. if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{\ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" ======================================================================== +.\" +.IX Title "TAP::Parser::Source 3pm" +.TH TAP::Parser::Source 3pm 2023-11-28 "perl v5.38.2" "Perl Programmers Reference Guide" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH NAME +TAP::Parser::Source \- a TAP source & meta data about it +.SH VERSION +.IX Header "VERSION" +Version 3.44 +.SH SYNOPSIS +.IX Header "SYNOPSIS" +.Vb 8 +\& use TAP::Parser::Source; +\& my $source = TAP::Parser::Source\->new; +\& $source\->raw( \e\*(Aqreference to raw TAP source\*(Aq ) +\& \->config( \e%config ) +\& \->merge( $boolean ) +\& \->switches( \e@switches ) +\& \->test_args( \e@args ) +\& \->assemble_meta; +\& +\& do { ... } if $source\->meta\->{is_file}; +\& # see assemble_meta for a full list of data available +.Ve +.SH DESCRIPTION +.IX Header "DESCRIPTION" +A TAP \fIsource\fR is something that produces a stream of TAP for the parser to +consume, such as an executable file, a text file, an archive, an IO handle, a +database, etc. \f(CW\*(C`TAP::Parser::Source\*(C'\fRs encapsulate these \fIraw\fR sources, and +provide some useful meta data about them. They are used by +TAP::Parser::SourceHandlers, which do whatever is required to produce & +capture a stream of TAP from the \fIraw\fR source, and package it up in a +TAP::Parser::Iterator for the parser to consume. +.PP +Unless you're writing a new TAP::Parser::SourceHandler, a plugin or +subclassing TAP::Parser, you probably won't need to use this module directly. +.SH METHODS +.IX Header "METHODS" +.SS "Class Methods" +.IX Subsection "Class Methods" +\fR\f(CI\*(C`new\*(C'\fR\fI\fR +.IX Subsection "new" +.PP +.Vb 1 +\& my $source = TAP::Parser::Source\->new; +.Ve +.PP +Returns a new \f(CW\*(C`TAP::Parser::Source\*(C'\fR object. +.SS "Instance Methods" +.IX Subsection "Instance Methods" +\fR\f(CI\*(C`raw\*(C'\fR\fI\fR +.IX Subsection "raw" +.PP +.Vb 2 +\& my $raw = $source\->raw; +\& $source\->raw( $some_value ); +.Ve +.PP +Chaining getter/setter for the raw TAP source. This is a reference, as it may +contain large amounts of data (eg: raw TAP). +.PP +\fR\f(CI\*(C`meta\*(C'\fR\fI\fR +.IX Subsection "meta" +.PP +.Vb 2 +\& my $meta = $source\->meta; +\& $source\->meta({ %some_value }); +.Ve +.PP +Chaining getter/setter for meta data about the source. This defaults to an +empty hashref. See "assemble_meta" for more info. +.PP +\fR\f(CI\*(C`has_meta\*(C'\fR\fI\fR +.IX Subsection "has_meta" +.PP +True if the source has meta data. +.PP +\fR\f(CI\*(C`config\*(C'\fR\fI\fR +.IX Subsection "config" +.PP +.Vb 2 +\& my $config = $source\->config; +\& $source\->config({ %some_value }); +.Ve +.PP +Chaining getter/setter for the source's configuration, if any has been provided +by the user. How it's used is up to you. This defaults to an empty hashref. +See "config_for" for more info. +.PP +\fR\f(CI\*(C`merge\*(C'\fR\fI\fR +.IX Subsection "merge" +.PP +.Vb 2 +\& my $merge = $source\->merge; +\& $source\->config( $bool ); +.Ve +.PP +Chaining getter/setter for the flag that dictates whether STDOUT and STDERR +should be merged (where appropriate). Defaults to undef. +.PP +\fR\f(CI\*(C`switches\*(C'\fR\fI\fR +.IX Subsection "switches" +.PP +.Vb 2 +\& my $switches = $source\->switches; +\& $source\->config([ @switches ]); +.Ve +.PP +Chaining getter/setter for the list of command-line switches that should be +passed to the source (where appropriate). Defaults to undef. +.PP +\fR\f(CI\*(C`test_args\*(C'\fR\fI\fR +.IX Subsection "test_args" +.PP +.Vb 2 +\& my $test_args = $source\->test_args; +\& $source\->config([ @test_args ]); +.Ve +.PP +Chaining getter/setter for the list of command-line arguments that should be +passed to the source (where appropriate). Defaults to undef. +.PP +\fR\f(CI\*(C`assemble_meta\*(C'\fR\fI\fR +.IX Subsection "assemble_meta" +.PP +.Vb 1 +\& my $meta = $source\->assemble_meta; +.Ve +.PP +Gathers meta data about the "raw" source, stashes it in "meta" and returns +it as a hashref. This is done so that the TAP::Parser::SourceHandlers don't +have to repeat common checks. Currently this includes: +.PP +.Vb 3 +\& is_scalar => $bool, +\& is_hash => $bool, +\& is_array => $bool, +\& +\& # for scalars: +\& length => $n +\& has_newlines => $bool +\& +\& # only done if the scalar looks like a filename +\& is_file => $bool, +\& is_dir => $bool, +\& is_symlink => $bool, +\& file => { +\& # only done if the scalar looks like a filename +\& basename => $string, # including ext +\& dir => $string, +\& ext => $string, +\& lc_ext => $string, +\& # system checks +\& exists => $bool, +\& stat => [ ... ], # perldoc \-f stat +\& empty => $bool, +\& size => $n, +\& text => $bool, +\& binary => $bool, +\& read => $bool, +\& write => $bool, +\& execute => $bool, +\& setuid => $bool, +\& setgid => $bool, +\& sticky => $bool, +\& is_file => $bool, +\& is_dir => $bool, +\& is_symlink => $bool, +\& # only done if the file\*(Aqs a symlink +\& lstat => [ ... ], # perldoc \-f lstat +\& # only done if the file\*(Aqs a readable text file +\& shebang => $first_line, +\& } +\& +\& # for arrays: +\& size => $n, +.Ve +.PP +\fR\f(CI\*(C`shebang\*(C'\fR\fI\fR +.IX Subsection "shebang" +.PP +Get the shebang line for a script file. +.PP +.Vb 1 +\& my $shebang = TAP::Parser::Source\->shebang( $some_script ); +.Ve +.PP +May be called as a class method +.PP +\fR\f(CI\*(C`config_for\*(C'\fR\fI\fR +.IX Subsection "config_for" +.PP +.Vb 1 +\& my $config = $source\->config_for( $class ); +.Ve +.PP +Returns "config" for the \f(CW$class\fR given. Class names may be fully qualified +or abbreviated, eg: +.PP +.Vb 3 +\& # these are equivalent +\& $source\->config_for( \*(AqPerl\*(Aq ); +\& $source\->config_for( \*(AqTAP::Parser::SourceHandler::Perl\*(Aq ); +.Ve +.PP +If a fully qualified \f(CW$class\fR is given, its abbreviated version is checked first. +.SH AUTHORS +.IX Header "AUTHORS" +Steve Purkis. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +TAP::Object, +TAP::Parser, +TAP::Parser::IteratorFactory, +TAP::Parser::SourceHandler |