From fc22b3d6507c6745911b9dfcc68f1e665ae13dbc Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 15 Apr 2024 21:43:11 +0200 Subject: Adding upstream version 4.22.0. Signed-off-by: Daniel Baumann --- upstream/debian-unstable/man3/Test2.3perl | 223 ++++++++++++++++++++++++++++++ 1 file changed, 223 insertions(+) create mode 100644 upstream/debian-unstable/man3/Test2.3perl (limited to 'upstream/debian-unstable/man3/Test2.3perl') 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 and +. We also have a slack team that can be joined +by anyone with an \f(CW\*(C`@cpan.org\*(C'\fR email address +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 . +.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 " 4 +.IX Item "Chad Granum " +.SH AUTHORS +.IX Header "AUTHORS" +.PD 0 +.IP "Chad Granum " 4 +.IX Item "Chad Granum " +.PD +.SH COPYRIGHT +.IX Header "COPYRIGHT" +Copyright 2020 Chad Granum . +.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 -- cgit v1.2.3