#!perl -w
use strict;
use Test::More tests => 6;
use Test::LeakTrace;
for(1 .. 2){
eval{
my @a = leaked_refs{
my @b = leaked_refs{
my %a = (foo => 42);
my %b = (bar => 3.14);
$b{a} = \%a;
$a{b} = \%b;
};
};
};
isnt $@, '', 'multi leaktrace';
eval{
leaktrace{
my %a = (foo => 42);
my %b = (bar => 3.14);
$b{a} = \%a;
$a{b} = \%b;
} sub {
die ['foo'];
};
};
is_deeply $@, ['foo'], 'die in callback';
eval{
leaktrace{
my @array;
push @array, \@array;
} -foobar;
};
like $@, qr/Invalid reporting mode/, 'invalid mode';
}