diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-22 06:22:00 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-22 06:22:00 +0000 |
commit | 8837f5948551444299fe5a13d06fa210dce01c65 (patch) | |
tree | 216cbc3dab14a166b6faff8fbcc51dfdc0469a3a /test | |
parent | 48df11da1c6a53a34881649d49fa1bfaf9abdb61 (diff) |
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
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/marshaltestlib.rb | 6 | ||||
-rw-r--r-- | test/ruby/test_marshal.rb | 6 |
2 files changed, 12 insertions, 0 deletions
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) |