<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">package Test2::Suite;
use strict;
use warnings;

our $VERSION = '0.000162';

1;

__END__

=pod

=encoding UTF-8

=head1 NAME

Test2::Suite - Distribution with a rich set of tools built upon the Test2
framework.

=head1 DESCRIPTION

Rich set of tools, plugins, bundles, etc built upon the L&lt;Test2&gt; testing
library. If you are interested in writing tests, this is the distribution for
you.

=head2 WHAT ARE TOOLS, PLUGINS, AND BUNDLES?

=over 4

=item TOOLS

Tools are packages that export functions for use in test files. These functions
typically generate events. Tools B&lt;SHOULD NEVER&gt; alter behavior of other tools,
or the system in general.

=item PLUGINS

Plugins are packages that produce effects, or alter behavior of tools. An
example would be a plugin that causes the test to bail out after the first
failure. Plugins B&lt;SHOULD NOT&gt; export anything.

=item BUNDLES

Bundles are collections of tools and plugins. A bundle should load and
re-export functions from Tool packages. A bundle may also load and configure
any number of plugins.

=back

If you want to write something that both exports new functions, and effects
behavior, you should write both a Tools distribution, and a Plugin distribution,
then a Bundle that loads them both. This is important as it helps avoid the
problem where a package exports much-desired tools, but
also produces undesirable side effects.

=head1 INCLUDED BUNDLES

=over 4

=item Test2::V#

These do not live in the bundle namespace as they are the primary ways to use
Test2::Suite.

The current latest is L&lt;Test2::V0&gt;.

    use Test2::V0;
    # strict and warnings are on for you now.

    ok(...);

    # Note: is does deep checking, unlike the 'is' from Test::More.
    is(...);

    ...

    done_testing;

This bundle includes every tool listed in the L&lt;/INCLUDED TOOLS&gt; section below,
except for L&lt;Test2::Tools::ClassicCompare&gt;. This bundle provides most of what
anyone writing tests could need. This is also the preferred bundle/toolset of
the L&lt;Test2&gt; author.

See L&lt;Test2::V0&gt; for complete documentation.

=item Extended

B&lt;** Deprecated **&gt; See L&lt;Test2::V0&gt;

    use Test2::Bundle::Extended;
    # strict and warnings are on for you now.

    ok(...);

    # Note: is does deep checking, unlike the 'is' from Test::More.
    is(...);

    ...

    done_testing;

This bundle includes every tool listed in the L&lt;/INCLUDED TOOLS&gt; section below,
except for L&lt;Test2::Tools::ClassicCompare&gt;. This bundle provides most of what
anyone writing tests could need. This is also the preferred bundle/toolset of
the L&lt;Test2&gt; author.

See L&lt;Test2::Bundle::Extended&gt; for complete documentation.

=item More

    use Test2::Bundle::More;
    use strict;
    use warnings;

    plan 3; # Or you can use done_testing at the end

    ok(...);

    is(...); # Note: String compare

    is_deeply(...);

    ...

    done_testing; # Use instead of plan

This bundle is meant to be a I&lt;mostly&gt; drop-in replacement for L&lt;Test::More&gt;.
There are some notable differences to be aware of however. Some exports are
missing: C&lt;eq_array&gt;, C&lt;eq_hash&gt;, C&lt;eq_set&gt;, C&lt;$TODO&gt;, C&lt;explain&gt;, C&lt;use_ok&gt;,
C&lt;require_ok&gt;. As well it is no longer possible to set the plan at import:
C&lt;&lt; use .. tests =&gt; 5 &gt;&gt;. C&lt;$TODO&gt; has been replaced by the C&lt;todo()&gt;
function. Planning is done using C&lt;plan&gt;, C&lt;skip_all&gt;, or C&lt;done_testing&gt;.

See L&lt;Test2::Bundle::More&gt; for complete documentation.

=item Simple

    use Test2::Bundle::Simple;
    use strict;
    use warnings;

    plan 1;

    ok(...);

This bundle is meant to be a I&lt;mostly&gt; drop-in replacement for L&lt;Test::Simple&gt;.
See L&lt;Test2::Bundle::Simple&gt; for complete documentation.

=back

=head1 INCLUDED TOOLS

=over 4

=item Basic

Basic provides most of the essential tools previously found in L&lt;Test::More&gt;.
However it does not export any tools used for comparison. The basic C&lt;pass&gt;,
C&lt;fail&gt;, C&lt;ok&gt; functions are present, as are functions for planning.

See L&lt;Test2::Tools::Basic&gt; for complete documentation.

=item Compare

This provides C&lt;is&gt;, C&lt;like&gt;, C&lt;isnt&gt;, C&lt;unlike&gt;, and several additional
helpers. B&lt;Note:&gt; These are all I&lt;deep&gt; comparison tools and work like a
combination of L&lt;Test::More&gt;'s C&lt;is&gt; and C&lt;is_deeply&gt;.

See L&lt;Test2::Tools::Compare&gt; for complete documentation.

=item ClassicCompare

This provides L&lt;Test::More&gt; flavored C&lt;is&gt;, C&lt;like&gt;, C&lt;isnt&gt;, C&lt;unlike&gt;, and
C&lt;is_deeply&gt;. It also provides C&lt;cmp_ok&gt;.

See L&lt;Test2::Tools::ClassicCompare&gt; for complete documentation.

=item Class

This provides functions for testing objects and classes, things like C&lt;isa_ok&gt;.

See L&lt;Test2::Tools::Class&gt; for complete documentation.

=item Defer

This provides functions for writing test functions in one place, but running
them later. This is useful for testing things that run in an altered state.

See L&lt;Test2::Tools::Defer&gt; for complete documentation.

=item Encoding

This exports a single function that can be used to change the encoding of all
your test output.

See L&lt;Test2::Tools::Encoding&gt; for complete documentation.

=item Exports

This provides tools for verifying exports. You can verify that functions have
been imported, or that they have not been imported.

See L&lt;Test2::Tools::Exports&gt; for complete documentation.

=item Mock

This provides tools for mocking objects and classes. This is based largely on
L&lt;Mock::Quick&gt;, but several interface improvements have been added that cannot
be added to Mock::Quick itself without breaking backwards compatibility.

See L&lt;Test2::Tools::Mock&gt; for complete documentation.

=item Ref

This exports tools for validating and comparing references.

See L&lt;Test2::Tools::Ref&gt; for complete documentation.

=item Spec

This is an RSPEC implementation with concurrency support.

See L&lt;Test2::Tools::Spec&gt; for more details.

=item Subtest

This exports tools for running subtests.

See L&lt;Test2::Tools::Subtest&gt; for complete documentation.

=item Target

This lets you load the package(s) you intend to test, and alias them into
constants/package variables.

See L&lt;Test2::Tools::Target&gt; for complete documentation.

=back

=head1 INCLUDED PLUGINS

=over 4

=item BailOnFail

The much requested "bail-out on first failure" plugin. When this plugin is
loaded, any failure will cause the test to bail out immediately.

See L&lt;Test2::Plugin::BailOnFail&gt; for complete documentation.

=item DieOnFail

The much requested "die on first failure" plugin. When this plugin is
loaded, any failure will cause the test to die immediately.

See L&lt;Test2::Plugin::DieOnFail&gt; for complete documentation.

=item ExitSummary

This plugin gives you statistics and diagnostics at the end of your test in the
event of a failure.

See L&lt;Test2::Plugin::ExitSummary&gt; for complete documentation.

=item SRand

Use this to set the random seed to a specific seed, or to the current date.

See L&lt;Test2::Plugin::SRand&gt; for complete documentation.

=item UTF8

Turn on utf8 for your testing. This sets the current file to be utf8, it also
sets STDERR, STDOUT, and your formatter to all output utf8.

See L&lt;Test2::Plugin::UTF8&gt; for complete documentation.

=back

=head1 INCLUDED REQUIREMENT CHECKERS

=over 4

=item AuthorTesting

Using this package will cause the test file to be skipped unless the
AUTHOR_TESTING environment variable is set.

See L&lt;Test2::Require::AuthorTesting&gt; for complete documentation.

=item EnvVar

Using this package will cause the test file to be skipped unless a custom
environment variable is set.

See L&lt;Test2::Require::EnvVar&gt; for complete documentation.

=item Fork

Using this package will cause the test file to be skipped unless the system is
capable of forking (including emulated forking).

See L&lt;Test2::Require::Fork&gt; for complete documentation.

=item RealFork

Using this package will cause the test file to be skipped unless the system is
capable of true forking.

See L&lt;Test2::Require::RealFork&gt; for complete documentation.

=item Module

Using this package will cause the test file to be skipped unless the specified
module is installed (and optionally at a minimum version).

See L&lt;Test2::Require::Module&gt; for complete documentation.

=item Perl

Using this package will cause the test file to be skipped unless the specified
minimum perl version is met.

See L&lt;Test2::Require::Perl&gt; for complete documentation.

=item Threads

Using this package will cause the test file to be skipped unless the system has
threading enabled.

B&lt;Note:&gt; This will not turn threading on for you.

See L&lt;Test2::Require::Threads&gt; for complete documentation.

=back

=head1 SEE ALSO

See the L&lt;Test2&gt; documentation for a namespace map. Everything in this
distribution uses L&lt;Test2&gt;.

L&lt;Test2::Manual&gt; is the Test2 Manual.

=head1 CONTACTING US

Many Test2 developers and users lurk on L&lt;irc://irc.perl.org/#perl&gt;. We also
have a slack team that can be joined by anyone with an C&lt;@cpan.org&gt; email
address L&lt;https://perl-test2.slack.com/&gt; If you do not have an C&lt;@cpan.org&gt;
email you can ask for a slack invite by emailing Chad Granum
E&lt;lt&gt;exodist@cpan.orgE&lt;gt&gt;.

=head1 SOURCE

The source code repository for Test2-Suite can be found at
F&lt;https://github.com/Test-More/Test2-Suite/&gt;.

=head1 MAINTAINERS

=over 4

=item Chad Granum E&lt;lt&gt;exodist@cpan.orgE&lt;gt&gt;

=back

=head1 AUTHORS

=over 4

=item Chad Granum E&lt;lt&gt;exodist@cpan.orgE&lt;gt&gt;

=back

=head1 COPYRIGHT

Copyright 2018 Chad Granum E&lt;lt&gt;exodist@cpan.orgE&lt;gt&gt;.

This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.

See F&lt;http://dev.perl.org/licenses/&gt;

=cut
</pre></body></html>