summaryrefslogtreecommitdiffstats
path: root/upstream/debian-unstable/man3/Test2.3perl
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/debian-unstable/man3/Test2.3perl
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/debian-unstable/man3/Test2.3perl')
-rw-r--r--upstream/debian-unstable/man3/Test2.3perl223
1 files changed, 223 insertions, 0 deletions
diff --git a/upstream/debian-unstable/man3/Test2.3perl b/upstream/debian-unstable/man3/Test2.3perl
new file mode 100644
index 00000000..bacad36a
--- /dev/null
+++ b/upstream/debian-unstable/man3/Test2.3perl
@@ -0,0 +1,223 @@
+.\" -*- 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 "Test2 3perl"
+.TH Test2 3perl 2024-01-12 "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
+Test2 \- Framework for writing test tools that all work together.
+.SH DESCRIPTION
+.IX Header "DESCRIPTION"
+Test2 is a new testing framework produced by forking Test::Builder,
+completely refactoring it, adding many new features and capabilities.
+.SS "WHAT IS NEW?"
+.IX Subsection "WHAT IS NEW?"
+.IP "Easier to test new testing tools." 4
+.IX Item "Easier to test new testing tools."
+From the beginning Test2 was built with introspection capabilities. With
+Test::Builder it was difficult at best to capture test tool output for
+verification. Test2 Makes it easy with \f(CWTest2::API::intercept()\fR.
+.IP "Better diagnostics capabilities." 4
+.IX Item "Better diagnostics capabilities."
+Test2 uses an Test2::API::Context object to track filename, line number, and
+tool details. This object greatly simplifies tracking for where errors should
+be reported.
+.IP "Event driven." 4
+.IX Item "Event driven."
+Test2 based tools produce events which get passed through a processing system
+before being output by a formatter. This event system allows for rich plugin
+and extension support.
+.IP "More complete API." 4
+.IX Item "More complete API."
+Test::Builder only provided a handful of methods for generating lines of TAP.
+Test2 took inventory of everything people were doing with Test::Builder that
+required hacking it up. Test2 made public API functions for nearly all the
+desired functionality people didn't previously have.
+.IP "Support for output other than TAP." 4
+.IX Item "Support for output other than TAP."
+Test::Builder assumed everything would end up as TAP. Test2 makes no such
+assumption. Test2 provides ways for you to specify alternative and custom
+formatters.
+.IP "Subtest implementation is more sane." 4
+.IX Item "Subtest implementation is more sane."
+The Test::Builder implementation of subtests was certifiably insane. Test2 uses
+a stacked event hub system that greatly improves how subtests are implemented.
+.IP "Support for threading/forking." 4
+.IX Item "Support for threading/forking."
+Test2 support for forking and threading can be turned on using Test2::IPC.
+Once turned on threading and forking operate sanely and work as one would
+expect.
+.SH "GETTING STARTED"
+.IX Header "GETTING STARTED"
+If you are interested in writing tests using new tools then you should look at
+Test2::Suite. Test2::Suite is a separate cpan distribution that contains
+many tools implemented on Test2.
+.PP
+If you are interested in writing new tools you should take a look at
+Test2::API first.
+.SH "NAMESPACE LAYOUT"
+.IX Header "NAMESPACE LAYOUT"
+This describes the namespace layout for the Test2 ecosystem. Not all the
+namespaces listed here are part of the Test2 distribution, some are implemented
+in Test2::Suite.
+.SS Test2::Tools::
+.IX Subsection "Test2::Tools::"
+This namespace is for sets of tools. Modules in this namespace should export
+tools like \f(CWok()\fR and \f(CWis()\fR. Most things written for Test2 should go here.
+Modules in this namespace \fBMUST NOT\fR export subs from other tools. See the
+"Test2::Bundle::" namespace if you want to do that.
+.SS Test2::Plugin::
+.IX Subsection "Test2::Plugin::"
+This namespace is for plugins. Plugins are modules that change or enhance the
+behavior of Test2. An example of a plugin is a module that sets the encoding to
+utf8 globally. Another example is a module that causes a bail-out event after
+the first test failure.
+.SS Test2::Bundle::
+.IX Subsection "Test2::Bundle::"
+This namespace is for bundles of tools and plugins. Loading one of these may
+load multiple tools and plugins. Modules in this namespace should not implement
+tools directly. In general modules in this namespace should load tools and
+plugins, then re-export things into the consumers namespace.
+.SS Test2::Require::
+.IX Subsection "Test2::Require::"
+This namespace is for modules that cause a test to be skipped when conditions
+do not allow it to run. Examples would be modules that skip the test on older
+perls, or when non-essential modules have not been installed.
+.SS Test2::Formatter::
+.IX Subsection "Test2::Formatter::"
+Formatters live under this namespace. Test2::Formatter::TAP is the only
+formatter currently. It is acceptable for third party distributions to create
+new formatters under this namespace.
+.SS Test2::Event::
+.IX Subsection "Test2::Event::"
+Events live under this namespace. It is considered acceptable for third party
+distributions to add new event types in this namespace.
+.SS Test2::Hub::
+.IX Subsection "Test2::Hub::"
+Hub subclasses (and some hub utility objects) live under this namespace. It is
+perfectly reasonable for third party distributions to add new hub subclasses in
+this namespace.
+.SS Test2::IPC::
+.IX Subsection "Test2::IPC::"
+The IPC subsystem lives in this namespace. There are not many good reasons to
+add anything to this namespace, with exception of IPC drivers.
+.PP
+\fITest2::IPC::Driver::\fR
+.IX Subsection "Test2::IPC::Driver::"
+.PP
+IPC drivers live in this namespace. It is fine to create new IPC drivers and to
+put them in this namespace.
+.SS Test2::Util::
+.IX Subsection "Test2::Util::"
+This namespace is for general utilities used by testing tools. Please be
+considerate when adding new modules to this namespace.
+.SS Test2::API::
+.IX Subsection "Test2::API::"
+This is for Test2 API and related packages.
+.SS Test2::
+.IX Subsection "Test2::"
+The Test2:: namespace is intended for extensions and frameworks. Tools,
+Plugins, etc should not go directly into this namespace. However extensions
+that are used to build tools and plugins may go here.
+.PP
+In short: If the module exports anything that should be run directly by a test
+script it should probably NOT go directly into \f(CW\*(C`Test2::XXX\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+Test2::API \- Primary API functions.
+.PP
+Test2::API::Context \- Detailed documentation of the context object.
+.PP
+Test2::IPC \- The IPC system used for threading/fork support.
+.PP
+Test2::Formatter \- Formatters such as TAP live here.
+.PP
+Test2::Event \- Events live in this namespace.
+.PP
+Test2::Hub \- All events eventually funnel through a hub. Custom hubs are how
+\&\f(CWintercept()\fR and \f(CWrun_subtest()\fR are implemented.
+.SH "CONTACTING US"
+.IX Header "CONTACTING US"
+Many Test2 developers and users lurk on <irc://irc.perl.org/#perl\-qa> and
+<irc://irc.perl.org/#toolchain>. We also have a slack team that can be joined
+by anyone with an \f(CW\*(C`@cpan.org\*(C'\fR email address <https://perl\-test2.slack.com/>
+If you do not have an \f(CW\*(C`@cpan.org\*(C'\fR email you can ask for a slack invite by
+emailing Chad Granum <exodist@cpan.org>.
+.SH SOURCE
+.IX Header "SOURCE"
+The source code repository for Test2 can be found at
+\&\fIhttp://github.com/Test\-More/test\-more/\fR.
+.SH MAINTAINERS
+.IX Header "MAINTAINERS"
+.IP "Chad Granum <exodist@cpan.org>" 4
+.IX Item "Chad Granum <exodist@cpan.org>"
+.SH AUTHORS
+.IX Header "AUTHORS"
+.PD 0
+.IP "Chad Granum <exodist@cpan.org>" 4
+.IX Item "Chad Granum <exodist@cpan.org>"
+.PD
+.SH COPYRIGHT
+.IX Header "COPYRIGHT"
+Copyright 2020 Chad Granum <exodist@cpan.org>.
+.PP
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+.PP
+See \fIhttp://dev.perl.org/licenses/\fR