Tweaks for Makefile.PL
gfx [Sun, 25 Oct 2009 05:01:17 +0000 (14:01 +0900)]
Makefile.PL
author/create-moose-compatibility-tests.pl [new file with mode: 0644]
author/munge-tests-for-moose.pl [deleted file]

index e6a0c67..dea9173 100755 (executable)
@@ -54,7 +54,7 @@ if ($Module::Install::AUTHOR) {
 
     if (eval{ require Moose; Moose->VERSION($require_version) }) {
         if (eval 'use Module::Install::AuthorTests; 1') {
-            create_moose_compatibility_test();
+            do 'author/create-moose-compatibility-tests.pl';
             recursive_author_tests('xt');
         } else {
             print "you don't have a M::I::AuthorTests.\n";
@@ -68,79 +68,3 @@ clean_files 'lib/Mouse/Tiny.pm';
 
 WriteAll check_nmake => 0;
 
-sub create_moose_compatibility_test {
-    require File::Path;
-    require File::Spec;
-    require File::Basename;
-
-    print "Creating compatibility tests in xt/compatibility/* ...\n";
-
-    File::Path::rmtree(File::Spec->catfile('xt', 'compatibility'));
-
-    # some test does not pass... currently skip it.
-    my %SKIP_TEST = (
-        '016-trigger.t'    => "trigger's argument is incompatble :(",
-        '810-isa-or.t'     => "Mouse has a [BUG]",
-
-        '052-undefined-type-in-union.t' => "Mouse accepts undefined type as a member of union types",
-        '054-anon-leak.t'     => 'Moose has memory leaks',
-
-        '600-tiny-tiny.t'     => "Moose doesn't support ::Tiny",
-        '601-tiny-mouse.t'    => "Moose doesn't support ::Tiny",
-        '602-mouse-tiny.t'    => "Moose doesn't support ::Tiny",
-
-        '031_roles_applied_in_create.t' => 't/lib/* classes are not Moose classes/roles',
-    );
-
-    my @compat_tests;
-
-    File::Find::find(
-        {
-            wanted => sub {
-                return unless -f $_;
-
-                return if /failing/; # skip tests in failing/ directories which  are Moose specific
-
-                return if /with_moose/; # tests with Moose
-                return if /100_bugs/;   # some tests require Mouse specific files
-                return if /deprecated/;
-
-                my $basename = File::Basename::basename($_);
-                return if $basename =~ /^\./;
-
-                if(exists $SKIP_TEST{$basename}){
-                    print "# skip $basename because: $SKIP_TEST{$basename}\n";
-                    return;
-                }
-
-                my $dirname = File::Basename::dirname($_);
-
-                my $tmpdir = File::Spec->catfile('xt', 'compatibility', $dirname);
-                File::Path::mkpath($tmpdir);
-
-                my $tmpfile = File::Spec->catfile($tmpdir, $basename);
-                open my $wfh, '>', $tmpfile or die $!;
-                print $wfh do {
-                    my $src = do {
-                        open my $rfh, '<', $_ or die $!;
-                        my $s = do { local $/; <$rfh> };
-                        close $rfh;
-                        $s;
-                    };
-                    $src =~ s/Mouse::(?:Util::)?is_class_loaded/Class::MOP::is_class_loaded/g;
-                    $src =~ s/Mouse::(?:Util::)?load_class/Class::MOP::load_class/g;
-                    $src =~ s/Mouse/Moose/g;
-                    $src;
-                };
-                close $wfh;
-                push @compat_tests, $tmpfile;
-            },
-            no_chdir => 1
-        },
-        't',
-    );
-    print "Compatibility tests created.\n";
-
-    clean_files "@compat_tests";
-}
-
diff --git a/author/create-moose-compatibility-tests.pl b/author/create-moose-compatibility-tests.pl
new file mode 100644 (file)
index 0000000..d875105
--- /dev/null
@@ -0,0 +1,79 @@
+#!perl
+use strict;
+use warnings;
+
+use File::Path ();
+use File::Spec ();
+use File::Basename ();
+
+print "Creating compatibility tests in xt/compatibility/* ...\n";
+
+File::Path::rmtree(File::Spec->catfile('xt', 'compatibility'));
+
+# some test does not pass... currently skip it.
+my %SKIP_TEST = (
+    '016-trigger.t'    => "trigger's argument is incompatble :(",
+    '810-isa-or.t'     => "Mouse has a [BUG]",
+
+    '052-undefined-type-in-union.t' => "Mouse accepts undefined type as a member of union types",
+    '054-anon-leak.t'     => 'Moose has memory leaks',
+
+    '600-tiny-tiny.t'     => "Moose doesn't support ::Tiny",
+    '601-tiny-mouse.t'    => "Moose doesn't support ::Tiny",
+    '602-mouse-tiny.t'    => "Moose doesn't support ::Tiny",
+
+    '031_roles_applied_in_create.t' => 't/lib/* classes are not Moose classes/roles',
+);
+
+my @compat_tests;
+
+File::Find::find(
+    {
+        wanted => sub {
+            return unless -f $_;
+
+            return if /failing/; # skip tests in failing/ directories which  are Moose specific
+
+            return if /with_moose/; # tests with Moose
+            return if /100_bugs/;   # some tests require Mouse specific files
+            return if /deprecated/;
+
+            my $basename = File::Basename::basename($_);
+            return if $basename =~ /^\./;
+
+            if(exists $SKIP_TEST{$basename}){
+                print "# skip $basename because: $SKIP_TEST{$basename}\n";
+                return;
+            }
+
+            my $dirname = File::Basename::dirname($_);
+
+            my $tmpdir = File::Spec->catfile('xt', 'compatibility', $dirname);
+            File::Path::mkpath($tmpdir);
+
+            my $tmpfile = File::Spec->catfile($tmpdir, $basename);
+            open my $wfh, '>', $tmpfile or die $!;
+            print $wfh do {
+                my $src = do {
+                    open my $rfh, '<', $_ or die $!;
+                    my $s = do { local $/; <$rfh> };
+                    close $rfh;
+                    $s;
+                };
+                $src =~ s/Mouse::(?:Util::)?is_class_loaded/Class::MOP::is_class_loaded/g;
+                $src =~ s/Mouse::(?:Util::)?load_class/Class::MOP::load_class/g;
+                $src =~ s/Mouse/Moose/g;
+                $src;
+            };
+            close $wfh;
+            push @compat_tests, $tmpfile;
+        },
+        no_chdir => 1
+    },
+    't',
+);
+print "Compatibility tests created.\n";
+
+clean_files("@compat_tests"); # defined in main
+
+
diff --git a/author/munge-tests-for-moose.pl b/author/munge-tests-for-moose.pl
deleted file mode 100755 (executable)
index 96ec4da..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/usr/bin/env perl -pl
-use strict;
-use warnings;
-
-BEGIN {
-    @ARGV = glob('t/*.t t/*/*.t') if !@ARGV;
-    $^I = '';
-}
-
-next if $ARGV =~ /squirrel/i; # Squirrel tests are for both Moose and Mouse
-
-s/Mouse(?!::Tiny)/Moose/g;
-
-s/Moose::(load_class|is_class_loaded)/Class::MOP::$1/g;
-