Run xt/ tests on non-plain installs
[dbsrgits/DBIx-Class.git] / t / lib / DBICTest / Util / LeakTracer.pm
index 1cf5cc4..b3d28a3 100644 (file)
@@ -10,7 +10,7 @@ use DBIx::Class::Optional::Dependencies;
 use Data::Dumper::Concise;
 use DBICTest::Util qw( stacktrace visit_namespaces );
 use constant {
-  CV_TRACING => DBIx::Class::Optional::Dependencies->req_ok_for ('test_leaks_heavy'),
+  CV_TRACING => !DBICTest::RunMode->is_plain && DBIx::Class::Optional::Dependencies->req_ok_for ('test_leaks_heavy'),
 };
 
 use base 'Exporter';
@@ -234,7 +234,15 @@ sub assert_empty_weakregistry {
       my $refs = {};
       visit_refs (
         # only look at the closed over stuffs
-        refs => [ grep { length ref $_ } map { values %{$_->[2]} } grep { ref $_ eq 'ARRAY' } values %Sub::Quote::QUOTED ],
+        refs => [ grep { length ref $_ } (
+
+          # old style Sub::Quote
+          ( map { values %{ $_->[2]}        } grep { ref $_ eq 'ARRAY' } values %Sub::Quote::QUOTED ),
+
+          # new style Sub::Quote
+          ( map { values %{ $_->{captures}} } grep { ref $_ eq 'HASH'  } values %Sub::Quote::QUOTED ),
+
+        )],
         seen_refs => $refs,
         action => sub { 1 },
       );
@@ -335,10 +343,11 @@ END {
         or
       DBICTest::RunMode->is_plain
     ) {
-      for (qw(indirect multidimensional bareword::filehandles)) {
-        exists $INC{ Module::Runtime::module_notional_filename($_) }
-          and
-        $tb->ok(0, "$_ load should not have been attempted!!!" )
+      for my $mod (qw(indirect multidimensional bareword::filehandles)) {
+        ( my $fn = "$mod.pm" ) =~ s|::|/|g;
+
+        $tb->ok(0, "Load of '$mod' should not have been attempted!!!" )
+          if exists $INC{$fn};
       }
     }
   }