X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F52leaks.t;h=c566a9af40c4e7984aaabe7a1a1b9d657f30ce16;hb=1e25c37c2a1b37307c6b151b1672664dfaa10766;hp=b87ca20bce00f138b28d47b9b5c9aaad7a6ea7f7;hpb=c0fe9332151bf53acb686e71703ec66e64440dbd;p=dbsrgits%2FDBIx-Class.git diff --git a/t/52leaks.t b/t/52leaks.t index b87ca20..c566a9a 100644 --- a/t/52leaks.t +++ b/t/52leaks.t @@ -47,10 +47,10 @@ if ($ENV{DBICTEST_IN_PERSISTENT_ENV}) { 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 +324,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) { + 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 @@ -360,13 +367,6 @@ unless (DBICTest::RunMode->is_plain) { ## anything we have seen so far is cool #delete @{$interim_wr}{keys %$weak_registry}; # - ## I still don't get any of this... - #delete $interim_wr->{$_} for grep { - # ref ($interim_wr->{$_}{weakref}) eq 'SCALAR' - # and - # ${$interim_wr->{$_}{weakref}} eq 'very closure... much wtf... wow!!!' - #} keys %$interim_wr; - # ## moment of truth - the rest ought to be gone #assert_empty_weakregistry($interim_wr); } @@ -459,9 +459,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