diff options
Diffstat (limited to 't/cmop/anon_class_leak.t')
-rw-r--r-- | t/cmop/anon_class_leak.t | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/t/cmop/anon_class_leak.t b/t/cmop/anon_class_leak.t new file mode 100644 index 0000000..0a292fc --- /dev/null +++ b/t/cmop/anon_class_leak.t @@ -0,0 +1,26 @@ +use strict; +use warnings; + +use Test::More; +use Test::Requires 'Test::LeakTrace'; # skip all if not installed + +BEGIN { + plan skip_all => 'Leak tests fail under Devel::Cover' if $INC{'Devel/Cover.pm'}; +} + +use Class::MOP; + +# 5.10.0 has a bug on weaken($hash_ref) which leaks an AV. +my $expected = ( $] == 5.010_000 ? 1 : 0 ); + +leaks_cmp_ok { + Class::MOP::Class->create_anon_class(); +} +'<=', $expected, 'create_anon_class()'; + +leaks_cmp_ok { + Class::MOP::Class->create_anon_class( superclasses => [qw(Exporter)] ); +} +'<=', $expected, 'create_anon_class(superclass => [...])'; + +done_testing; |