diff options
| author | tokuhirom <tokuhirom@gmail.com> | 2010-08-21 16:02:23 +0900 |
|---|---|---|
| committer | tokuhirom <tokuhirom@gmail.com> | 2010-08-21 16:02:23 +0900 |
| commit | a91c1ec6d9b86a3f8f71504e0889191da13a210e (patch) | |
| tree | fe06a6922ff2cb2c7d94534d43d764b0d71c42a9 /perl/t | |
| parent | c8e351b31e28042c10f7406238636c92a64a696c (diff) | |
| download | msgpack-python-a91c1ec6d9b86a3f8f71504e0889191da13a210e.tar.gz | |
fixed segv on cyclic reference(patch by dankogai)
Diffstat (limited to 'perl/t')
| -rw-r--r-- | perl/t/08_cycle.t | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/perl/t/08_cycle.t b/perl/t/08_cycle.t new file mode 100644 index 0000000..55d8427 --- /dev/null +++ b/perl/t/08_cycle.t @@ -0,0 +1,25 @@ +use t::Util; +use Test::More; +use Data::MessagePack; + +plan tests => 5; + +my $aref = [0]; +$aref->[1] = $aref; +eval { Data::MessagePack->pack($aref) }; +ok $@, $@; + +my $href = {}; +$href->{cycle} = $href; +eval { Data::MessagePack->pack($aref) }; +ok $@, $@; + +$aref = [0,[1,2]]; +eval { Data::MessagePack->pack($aref) }; +ok !$@; + +eval { Data::MessagePack->pack($aref, 3) }; +ok !$@; + +eval { Data::MessagePack->pack($aref, 2) }; +ok $@, $@; |
