Sponsoring The Perl Toolchain Summit 2025: Help make this important event another success Learn more

NAME

Test::Stream::Plugin::SkipWithout - Plugin to skip tests if certain package requirements are not met.

DEPRECATED

This distribution is deprecated in favor of Test2, Test2::Suite, and Test2::Workflow.

See Test::Stream::Manual::ToTest2 for a conversion guide.

DESCRIPTION

Sometimes you have tests that are nice to run, but depend on tools that may not be available. Instead of adding the tool as a dep, or making the test always skip, it is common to make the test run conditionally. This package helps make that possible.

This module is modeled after Test::Requires. This module even stole most of the syntax. The difference is that this module is based on Test::Stream directly, and does not go through Test::Builder. Another difference is that the packages you check for are not imported into your namespace for you, this is intentional.

SYNOPSIS

use Test::Stream SkipWithout => [
'v5.10', # minimum perl version
'Necessary::Package', # We need this, we do not care what version it is
# A hashref can be used to specify modules + minimum versions
{
'Scalar::Util' => '1.3', # We need at least this version of Scalar::Util
'Some::Tool' => '2.5', # We need version 2.5 of Some::Tool
},
];
# The tools and features are not imported for us, so we import them here.
# This gives us control over the import arguments as well.
use v5.10;
use Necessary::Package qw/foo bar/;
use Scalar::Util qw/blessed reftype/;
use Some::Tool qw/do_it/;

SOURCE

The source code repository for Test::Stream can be found at http://github.com/Test-More/Test-Stream/.

MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Copyright 2015 Chad Granum <exodist7@gmail.com>.

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

See http://dev.perl.org/licenses/