From: Peter Rabbitson Date: Tue, 19 May 2015 03:49:48 +0000 (+0200) Subject: Make sure tests pass without a compiler present (another step to RT#74706) X-Git-Tag: v0.082821~16 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=ab63014e90ff44053204ba629619838e5317720f;p=dbsrgits%2FDBIx-Class.git Make sure tests pass without a compiler present (another step to RT#74706) --- diff --git a/Changes b/Changes index c887d97..fbf13dd 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,8 @@ Revision history for DBIx::Class + * Fixes + - Fix t/52leaks.t failures on compilerless systems (RT#104429) + 0.082820 2015-03-20 20:35 (UTC) * Fixes - Protect destructors from rare but possible double execution, and diff --git a/t/52leaks.t b/t/52leaks.t index af91f7d..b3b9b9c 100644 --- a/t/52leaks.t +++ b/t/52leaks.t @@ -447,6 +447,14 @@ for my $addr (keys %$weak_registry) { delete $weak_registry->{$addr} unless $cleared->{hash_merge_singleton}{$weak_registry->{$addr}{weakref}{behavior}}++; } + elsif ($names =~ /^B::Hooks::EndOfScope::PP::_TieHintHashFieldHash/m) { + # there is one tied lexical which stays alive until GC time + # https://metacpan.org/source/ETHER/B-Hooks-EndOfScope-0.15/lib/B/Hooks/EndOfScope/PP/FieldHash.pm#L24 + # simply ignore it here, instead of teaching the leaktracer to examine ties + # the latter is possible yet terrible: https://github.com/dbsrgits/dbix-class/blob/v0.082820/t/lib/DBICTest/Util/LeakTracer.pm#L113-L117 + delete $weak_registry->{$addr} + unless $cleared->{bheos_pptiehinthashfieldhash}++; + } elsif ($names =~ /^DateTime::TimeZone::UTC/m) { # DT is going through a refactor it seems - let it leak zones for now delete $weak_registry->{$addr};