Make Test::Output optional again
Shawn M Moore [Wed, 29 Apr 2009 05:19:05 +0000 (01:19 -0400)]
Changes
lib/Moose/Cookbook/Extending/Recipe3.pod
t/010_basics/016_load_into_main.t
t/030_roles/019_build.t
t/050_metaclasses/012_moose_exporter.t
t/300_immutable/010_constructor_is_not_moose.t
t/300_immutable/011_constructor_is_wrapped.t
t/300_immutable/013_immutable_roundtrip.t

diff --git a/Changes b/Changes
index 5d8da9f..a3a04b2 100644 (file)
--- a/Changes
+++ b/Changes
@@ -15,6 +15,10 @@ for, noteworthy changes.
       - Revert the class-overrides-role warning in favor of a solution outside
         of the Moose core (Sartak)
 
+    * Tests
+      - Make Test::Output optional again, since it's only used in a few files
+        (Sartak)
+
 0.75_01 Thu, April 23, 2009
     * Moose::Meta::Role::Application::ToClass
       - Moose now warns about each class overriding methods from roles it
index 1663b16..58d2eda 100644 (file)
@@ -4,7 +4,12 @@
 =begin testing-SETUP
 
 BEGIN {
-    use Test::Output;
+    eval 'use Test::Output;';
+    if ($@) {
+        diag 'Test::Output is required for this test';
+        ok(1);
+        exit 0;
+    }
 }
 
 =end testing-SETUP
index 015d7fe..ad598cf 100644 (file)
@@ -3,8 +3,12 @@
 use strict;
 use warnings;
 
-use Test::More tests => 2;
-use Test::Output;
+use Test::More;
+BEGIN {
+    eval "use Test::Output;";
+    plan skip_all => "Test::Output is required for this test" if $@;
+    plan tests => 2;
+}
 
 stderr_is( sub { package main; eval 'use Moose' },
            "Moose does not export its sugar to the 'main' package.\n",
index 52207d5..cd973cd 100644 (file)
@@ -1,8 +1,12 @@
 #!/usr/bin/env perl
 use strict;
 use warnings;
-use Test::More tests => 8;
-use Test::Output;
+use Test::More;
+BEGIN {
+    eval "use Test::Output;";
+    plan skip_all => "Test::Output is required for this test" if $@;
+    plan tests => 8;
+}
 
 # this test script ensures that my idiom of:
 # role: sub BUILD, after BUILD
index f4ab6cf..f8d82a2 100644 (file)
@@ -3,9 +3,13 @@
 use strict;
 use warnings;
 
-use Test::More tests => 45;
+use Test::More;
 use Test::Exception;
-use Test::Output;
+BEGIN {
+    eval "use Test::Output;";
+    plan skip_all => "Test::Output is required for this test" if $@;
+    plan tests => 45;
+}
 
 
 {
index bf2bfb4..5f4e304 100644 (file)
@@ -3,8 +3,12 @@
 use strict;
 use warnings;
 
-use Test::More tests => 6;
-use Test::Output;
+use Test::More;
+BEGIN {
+    eval "use Test::Output;";
+    plan skip_all => "Test::Output is required for this test" if $@;
+    plan tests => 6;
+}
 
 {
     package NotMoose;
index d5c1b3c..2d5413c 100644 (file)
@@ -3,8 +3,12 @@
 use strict;
 use warnings;
 
-use Test::More tests => 1;
-use Test::Output;
+use Test::More;
+BEGIN {
+    eval "use Test::Output;";
+    plan skip_all => "Test::Output is required for this test" if $@;
+    plan tests => 1;
+}
 
 {
     package ModdedNew;
index 27fd869..b43a876 100644 (file)
@@ -3,8 +3,12 @@
 use strict;
 use warnings;
 
-use Test::More tests => 1;
-use Test::Output;
+use Test::More;
+BEGIN {
+    eval "use Test::Output;";
+    plan skip_all => "Test::Output is required for this test" if $@;
+    plan tests => 1;
+}
 
 {
     package Foo;