From fe7e7a8d077de47f3c92dad3ec6eb39e8c1ae077 Mon Sep 17 00:00:00 2001 From: gfx Date: Wed, 15 Sep 2010 15:26:02 +0900 Subject: [PATCH] Add leaktrace tests --- perl/xt/leaks/leaktrace.t | 40 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100755 perl/xt/leaks/leaktrace.t diff --git a/perl/xt/leaks/leaktrace.t b/perl/xt/leaks/leaktrace.t new file mode 100755 index 00000000..ff64f6ff --- /dev/null +++ b/perl/xt/leaks/leaktrace.t @@ -0,0 +1,40 @@ +#!perl -w +use strict; +use Test::Requires 'Test::LeakTrace'; +use Test::More; + +use Data::MessagePack; + +my $data = { + a => 'foo', + b => 42, + c => undef, + d => [qw(bar baz)], + e => 3.14, +}; + +no_leaks_ok { + my $s = Data::MessagePack->pack($data); +}; + +no_leaks_ok { + eval { Data::MessagePack->pack([\*STDIN]) }; + #note $@; + $@ or die "it must die"; +}; + +my $s = Data::MessagePack->pack($data); + +no_leaks_ok { + my $data = Data::MessagePack->unpack($s); +}; + +no_leaks_ok { + my $ss = $s; + chop $ss; + eval { Data::MessagePack->unpack($ss) }; + #note $@; + $@ or die "it must die"; +}; + +done_testing;