Applied patch from Goro Fuji to fix leaks in creating an anonymous
Dave Rolsky [Mon, 6 Jul 2009 14:25:49 +0000 (09:25 -0500)]
class.

t/312_anon_class_leak.t [new file with mode: 0644]

diff --git a/t/312_anon_class_leak.t b/t/312_anon_class_leak.t
new file mode 100644 (file)
index 0000000..14ac2d3
--- /dev/null
@@ -0,0 +1,26 @@
+use strict;
+use warnings;
+
+use Class::MOP;
+use Test::More;
+
+BEGIN {
+    eval "use Test::LeakTrace;";
+    plan skip_all => "Test::LeakTrace is required for this test" if $@;
+}
+
+plan tests => 2;
+
+# 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 => [...])';
+