This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Added core-only version check to Module-CoreList
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Sat, 31 May 2014 11:12:47 +0000 (12:12 +0100)
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Sat, 31 May 2014 12:34:50 +0000 (13:34 +0100)
This should ensure that the versions of Module-CoreList modules
always match the version of perl.

Have to special-case skip for v5.21.1, because rjbs

MANIFEST
dist/Module-CoreList/t/corevers.t [new file with mode: 0644]

index cd40ad5..47a5400 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -3167,6 +3167,7 @@ dist/Module-CoreList/Makefile.PL          Module::CoreList
 dist/Module-CoreList/MANIFEST                  Module::CoreList
 dist/Module-CoreList/README                    Module::CoreList
 dist/Module-CoreList/t/corelist.t              Module::CoreList tests
+dist/Module-CoreList/t/corevers.t              Module::CoreList tests
 dist/Module-CoreList/t/deprecated.t            Module::CoreList tests
 dist/Module-CoreList/t/find_modules.t          Module::CoreList tests
 dist/Module-CoreList/t/is_core.t               Module::CoreList tests
diff --git a/dist/Module-CoreList/t/corevers.t b/dist/Module-CoreList/t/corevers.t
new file mode 100644 (file)
index 0000000..09d5d72
--- /dev/null
@@ -0,0 +1,21 @@
+#!perl -w
+use strict;
+use Test::More;
+
+plan skip_all => 'This is perl core-only test' unless $ENV{PERL_CORE};
+plan skip_all => 'Special case v5.21.1 because rjbs' if sprintf("v%vd", $^V) eq 'v5.21.1';
+
+my @modules = qw[
+  Module::CoreList
+  Module::CoreList::Utils
+  Module::CoreList::TieHashDelta
+];
+
+plan tests => scalar @modules;
+
+foreach my $mod ( @modules ) {
+  eval "require $mod";
+  my $vers = eval $mod->VERSION;
+  ok( !( $vers < $] || $vers > $] ), "$mod version should match perl version in core" )
+    or diag("$mod $vers doesn't match $]");
+}