diff options
Diffstat (limited to 'test/ruby/test_marshal.rb')
-rw-r--r-- | test/ruby/test_marshal.rb | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/test/ruby/test_marshal.rb b/test/ruby/test_marshal.rb index baf143bcfb..6d610b3a28 100644 --- a/test/ruby/test_marshal.rb +++ b/test/ruby/test_marshal.rb @@ -553,10 +553,18 @@ class TestMarshal < Test::Unit::TestCase bug8276 = '[ruby-core:54334] [Bug #8276]' t = Bug8276.new(bug8276) s = Marshal.dump(t) - assert_nothing_raised(RuntimeError) {s = Marshal.load(s)} + assert_nothing_raised(RuntimeError, bug8276) {s = Marshal.load(s)} assert_equal(t.data, s.data, bug8276) end + def test_marshal_dump_ivar + s = "data with ivar" + s.instance_variable_set(:@t, 42) + t = Bug8276.new(s) + s = Marshal.dump(t) + assert_raise(RuntimeError) {Marshal.load(s)} + end + def test_class_ivar assert_raise(TypeError) {Marshal.load("\x04\x08Ic\x1bTestMarshal::TestClass\x06:\x0e@ivar_bug\"\x08bug")} assert_raise(TypeError) {Marshal.load("\x04\x08IM\x1bTestMarshal::TestClass\x06:\x0e@ivar_bug\"\x08bug")} |