X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F52leaks.t;h=60392059debb23b8140ec488da1650966a5be1d8;hb=731c2d8bbf4da815c89a02cbd73f2475b7df2406;hp=aefe40c2cb99523b79c33e7a9838eda728f730c6;hpb=e1ff35c4815770d1d563a4c1fbdb1cc26772c07a;p=dbsrgits%2FDBIx-Class.git diff --git a/t/52leaks.t b/t/52leaks.t index aefe40c..6039205 100644 --- a/t/52leaks.t +++ b/t/52leaks.t @@ -21,6 +21,19 @@ use strict; use warnings; use Test::More; +use lib qw(t/lib); +use DBICTest::RunMode; + +plan skip_all => "Temporarily no smoke testing of Test::More 1.3xx alphas" if ( + DBICTest::RunMode->is_smoker + and + eval { Test::More->VERSION("1.300") } + and + require ExtUtils::MakeMaker + and + MM->parse_version($INC{"Test/Builder.pm"}) =~ / ^ 1 \. 3.. ... \_ /x +); + my $TB = Test::More->builder; if ($ENV{DBICTEST_IN_PERSISTENT_ENV}) { # without this explicit close older TBs warn in END after a ->reset @@ -45,12 +58,10 @@ if ($ENV{DBICTEST_IN_PERSISTENT_ENV}) { $TB->reset; } -use lib qw(t/lib); -use DBICTest::RunMode; -use DBICTest::Util::LeakTracer qw(populate_weakregistry assert_empty_weakregistry visit_refs hrefaddr); +use DBICTest::Util::LeakTracer qw(populate_weakregistry assert_empty_weakregistry visit_refs); use Scalar::Util qw(weaken blessed reftype); use DBIx::Class; -use DBIx::Class::_Util 'sigwarn_silencer'; +use DBIx::Class::_Util qw(hrefaddr sigwarn_silencer); BEGIN { plan skip_all => "Your perl version $] appears to leak like a sieve - skipping test" if DBIx::Class::_ENV_::PEEPEENESS; @@ -324,7 +335,14 @@ unless (DBICTest::RunMode->is_plain) { # do a heavy-duty fire-and-compare loop on all resultsets # this is expensive - not running on install my $typecounts = {}; - unless (DBICTest::RunMode->is_plain or $ENV{DBICTEST_IN_PERSISTENT_ENV}) { + if ( + ! DBICTest::RunMode->is_plain + and + ! $ENV{DBICTEST_IN_PERSISTENT_ENV} + and + # FIXME - investigate wtf is going on with 5.18 + ! ( $] > 5.017 and $ENV{DBIC_TRACE_PROFILE} ) + ) { # FIXME - ideally we should be able to just populate an alternative # registry, subtract everything from the main one, and arrive at @@ -452,9 +470,9 @@ for my $addr (keys %$weak_registry) { unless $cleared->{hash_merge_singleton}{$weak_registry->{$addr}{weakref}{behavior}}++; } elsif ( - # if we can look at closed over pieces - we will register it as a global - !DBICTest::Util::LeakTracer::CV_TRACING - and +# # if we can look at closed over pieces - we will register it as a global +# !DBICTest::Util::LeakTracer::CV_TRACING +# and $names =~ /^SQL::Translator::Generator::DDL::SQLite/m ) { # SQLT::Producer::SQLite keeps global generators around for quoted