From d12d82729445072356504a0bfe4169991c4ea92a Mon Sep 17 00:00:00 2001 From: Peter Rabbitson Date: Tue, 26 Oct 2010 11:25:17 +0200 Subject: [PATCH] Get test suite to pass under 5.13.6 (peepeeness!) A regression slipped into 5.13.6 introduced by http://perl5.git.perl.org/perl.git/commit/304474c3 Fixed by: http://perl5.git.perl.org/perl.git/commit/cefd5c7c --- t/52leaks.t | 9 +++++++-- t/lib/DBICTest.pm | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/t/52leaks.t b/t/52leaks.t index f779f3c11..2f1867d79 100644 --- a/t/52leaks.t +++ b/t/52leaks.t @@ -12,6 +12,11 @@ BEGIN { } use Test::More; +BEGIN { + plan skip_all => '5.13.6 leaks like a sieve (fixed in blead/cefd5c7c)' + if $] == '5.013006'; +} + use Scalar::Util qw/refaddr reftype weaken/; use Carp qw/longmess/; use Try::Tiny; @@ -151,11 +156,11 @@ memory_cycle_ok($weak_registry, 'No cycles in the weakened object collection') # Naturally we have some exceptions my $cleared; for my $slot (keys %$weak_registry) { - if ($slot =~ /^SQL\:\:Translator/) { + if ($slot =~ /^\QSQL::Translator/) { # SQLT is a piece of shit, leaks all over delete $weak_registry->{$slot}; } - elsif ($slot =~ /^Hash\:\:Merge/) { + elsif ($slot =~ /^\QHash::Merge/) { # only clear one object - more would indicate trouble delete $weak_registry->{$slot} unless $cleared->{hash_merge_singleton}{$weak_registry->{$slot}{weakref}{behavior}}++; diff --git a/t/lib/DBICTest.pm b/t/lib/DBICTest.pm index 953b24942..85e5ee468 100644 --- a/t/lib/DBICTest.pm +++ b/t/lib/DBICTest.pm @@ -112,6 +112,8 @@ sub _database { } sub __mk_disconnect_guard { + return if $] == '5.013006'; # leaks handles, delaying DESTROY, can't work right + my $db_file = shift; return unless -f $db_file;