The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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/