Fix brainfart from cb551b07 - 'if' is still a module, don't need it
Peter Rabbitson [Thu, 12 Mar 2015 09:36:47 +0000 (10:36 +0100)]
Also rewrite the load pattern test to be saner

lib/DBIx/Class/Optional/Dependencies.pm
xt/extra/internals/optional_deps.t

index d1d8bba..7e69eea 100644 (file)
@@ -2,8 +2,12 @@ package DBIx::Class::Optional::Dependencies;
 
 ### This may look crazy, but it in fact tangibly ( by 50(!)% ) shortens
 #   the skip-test time when everything requested is unavailable
-use if $ENV{RELEASE_TESTING} => 'warnings';
-use if $ENV{RELEASE_TESTING} => 'strict';
+BEGIN {
+  if ( $ENV{RELEASE_TESTING} ) {
+    require warnings and warnings->import;
+    require strict and strict->import;
+  }
+}
 
 sub croak {
   require Carp;
index 9cef633..c33fd23 100644 (file)
@@ -18,14 +18,20 @@ use MRO::Compat();
 use Carp 'confess';
 use List::Util 'shuffle';
 
-ok ( (! grep { $_ =~ m|DBIx/Class| } @$inc_before ), 'Nothing DBIC related was loaded before inc-test')
-  unless $ENV{PERL5OPT}; # a defined PERL5OPT may inject extra deps crashing this test
-
-is_deeply (
-  [ sort @$inc_after],
-  [ sort (@$inc_before, qw( DBIx/Class/Optional/Dependencies.pm if.pm )) ],
-  'Nothing loaded other than DBIx::Class::OptDeps',
-) unless $ENV{RELEASE_TESTING};
+SKIP: {
+  skip 'Lean load pattern testing unsafe with $ENV{PERL5OPT}', 1 if $ENV{PERL5OPT};
+  skip 'Lean load pattern testing useless with $ENV{RELEASE_TESTING}', 1 if $ENV{RELEASE_TESTING};
+  is_deeply
+    $inc_before,
+    [],
+    'Nothing was loaded before inc-test'
+  ;
+  is_deeply
+    $inc_after,
+    [ 'DBIx/Class/Optional/Dependencies.pm' ],
+    'Nothing was loaded other than DBIx::Class::OptDeps'
+  ;
+}
 
 # check the project-local groups for sanity
 lives_ok {