The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Test::Dist::VersionSync - Verify that all the modules in a distribution have the same version number.

VERSION

Version 1.2.0

SYNOPSIS

        use Test::Dist::VersionSync;
        Test::Dist::VersionSync::ok_versions();

USE AS A TEST FILE

The most common use should be to add a module_versions.t file to your tests directory for a given distribution, with the following content:

        #!perl -T

        use strict;
        use warnings;

        use Test::More;

        # Ensure a recent version of Test::Dist::VersionSync
        my $version_min = '1.0.1';
        eval "use Test::Dist::VersionSync $version_min";
        plan( skip_all => "Test::Dist::VersionSync $version_min required for testing module versions in the distribution." )
                if $@;

        Test::Dist::VersionSync::ok_versions();

FUNCTIONS

ok_versions()

Verify that all the Perl modules in the distribution have the same version number.

        # Default, use MANIFEST and MANIFEST.SKIP to find out what modules exist.
        ok_versions();

        # Optional, specify a list of modules to check for identical versions.
        ok_versions(
                modules =>
                [
                        'Test::Module1',
                        'Test::Module2',
                        'Test::Module3',
                ],
        );

import()

Import a test plan. This uses the regular Test::More plan options.

        use Test::Dist::VersionSync tests => 4;

        ok_versions();

Test::Dist::VersionSync also detects if Test::More was already used with a test plan declared and will piggyback on it. For example:

        use Test::More tests => 2;
        use Test::Dist::VersionSync;

        ok( 1, 'Some Test' );
        ok_versions();

BUGS

Please report any bugs or feature requests through the web interface at https://github.com/guillaumeaubert/Test-Dist-VersionSync/issues/new. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

        perldoc Test::Dist::VersionSync

You can also look for information at:

AUTHOR

Guillaume Aubert, <aubertg at cpan.org>.

COPYRIGHT & LICENSE

Copyright 2012-2017 Guillaume Aubert.

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

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the LICENSE file for more details.