From: Peter Rabbitson Date: Wed, 26 Dec 2012 09:02:20 +0000 (+0100) Subject: Promote leaky rscond todo to a smoke-fail - try to establish a pattern X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=344f761ca18792709cd110bed7377f662abf1811;p=dbsrgits%2FDBIx-Class-Historic.git Promote leaky rscond todo to a smoke-fail - try to establish a pattern --- diff --git a/t/52leaks.t b/t/52leaks.t index da99c8b..2f70414 100644 --- a/t/52leaks.t +++ b/t/52leaks.t @@ -262,7 +262,9 @@ my @compose_ns_classes; # this needs to fire, even if it can't find anything # see FIXME below - $rs_bind_circref->next; + # we run this only on smokers - trying to establish a pattern + $rs_bind_circref->next + if ( ($ENV{TRAVIS}||'') ne 'true' and DBICTest::RunMode->is_smoker); require Storable; %$base_collection = ( @@ -413,10 +415,8 @@ for my $moniker ( keys %{DBICTest::Schema->source_registrations || {}} ) { # ^ / # \-------- bound value on prepared/cached STH <-----------/ # -TODO: { - local $TODO = 'Not sure how to fix this yet, an entanglment could be an option'; - my $r = $weak_registry->{'basic leaky_resultset_cond'}{weakref}; - ok(! defined $r, 'We no longer leak!') +if ( my $r = $weak_registry->{'basic leaky_resultset_cond'}{weakref} ) { + ok(! defined $r, 'Self-referential RS conditions no longer leak!') or $r->result_source(undef); }