From 8837f5948551444299fe5a13d06fa210dce01c65 Mon Sep 17 00:00:00 2001 From: shyouhei Date: Thu, 22 Jan 2009 06:22:00 +0000 Subject: merge revision(s) 19078,20097: * gc.c (rb_mark_set): new function to mark keys. * marshal.c (struct dump_arg, struct load_arg): added wrappers to mark data entries. backport from trunk r13527,r13528,r13961,r16533. [ruby-dev:36082] * marshal.c (marshal_load): arg.data is no longer a VALUE but a st_table, and freed in load_ensure. pointed out by pegacorn. [ruby-dev:37008] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@21731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/marshaltestlib.rb | 6 ++++++ test/ruby/test_marshal.rb | 6 ++++++ 2 files changed, 12 insertions(+) (limited to 'test/ruby') diff --git a/test/ruby/marshaltestlib.rb b/test/ruby/marshaltestlib.rb index 891f43b1f7..ae60cd8479 100644 --- a/test/ruby/marshaltestlib.rb +++ b/test/ruby/marshaltestlib.rb @@ -193,6 +193,12 @@ module MarshalTestLib 1.instance_eval { remove_instance_variable("@iv") } end + def test_fixnum_64bit + obj = [1220278665, 1220278662, 1220278661, 1220278661, 1220278656] + + marshal_equal(obj) + end + def test_float marshal_equal(-1.0) marshal_equal(0.0) diff --git a/test/ruby/test_marshal.rb b/test/ruby/test_marshal.rb index 11f3583076..68f50ff728 100644 --- a/test/ruby/test_marshal.rb +++ b/test/ruby/test_marshal.rb @@ -12,11 +12,17 @@ class TestMarshal < Test::Unit::TestCase include MarshalTestLib def encode(o) + stress, GC.stress = GC.stress, true Marshal.dump(o) + ensure + GC.stress = stress end def decode(s) + stress, GC.stress = GC.stress, true Marshal.load(s) + ensure + GC.stress = stress end def fact(n) -- cgit v1.2.3