summaryrefslogtreecommitdiffstats
path: root/upstream/mageia-cauldron/man3pm/TAP::Parser::Source.3pm
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
commitfc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch)
treece1e3bce06471410239a6f41282e328770aa404a /upstream/mageia-cauldron/man3pm/TAP::Parser::Source.3pm
parentInitial commit. (diff)
downloadmanpages-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.3pm273
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