diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/.excludes-mmtk/TestObjSpace.rb | 1 | ||||
| -rw-r--r-- | test/ruby/test_io_buffer.rb | 9 | ||||
| -rw-r--r-- | test/ruby/test_sprintf.rb | 6 |
3 files changed, 16 insertions, 0 deletions
diff --git a/test/.excludes-mmtk/TestObjSpace.rb b/test/.excludes-mmtk/TestObjSpace.rb index 94eb2c436d..feb05063df 100644 --- a/test/.excludes-mmtk/TestObjSpace.rb +++ b/test/.excludes-mmtk/TestObjSpace.rb @@ -2,3 +2,4 @@ exclude(:test_dump_all_full, "testing behaviour specific to default GC") exclude(:test_dump_flag_age, "testing behaviour specific to default GC") exclude(:test_dump_flags, "testing behaviour specific to default GC") exclude(:test_dump_objects_dumps_page_slot_sizes, "testing behaviour specific to default GC") +exclude(:test_trace_object_allocations_does_not_reuse_freed_allocation_info, "hang up") diff --git a/test/ruby/test_io_buffer.rb b/test/ruby/test_io_buffer.rb index b6372f25b8..327a3ece9c 100644 --- a/test/ruby/test_io_buffer.rb +++ b/test/ruby/test_io_buffer.rb @@ -712,6 +712,10 @@ class TestIOBuffer < Test::Unit::TestCase assert_raise(IO::Buffer::InvalidatedError) { slice | mask } assert_raise(IO::Buffer::InvalidatedError) { slice ^ mask } assert_raise(IO::Buffer::InvalidatedError) { ~slice } + + assert_raise(IO::Buffer::InvalidatedError) { slice.and!(mask) } + assert_raise(IO::Buffer::InvalidatedError) { slice.or!(mask) } + assert_raise(IO::Buffer::InvalidatedError) { slice.xor!(mask) } end def test_operators_raise_on_freed_mask @@ -723,6 +727,11 @@ class TestIOBuffer < Test::Unit::TestCase assert_raise(IO::Buffer::InvalidatedError) { source & mask_slice } assert_raise(IO::Buffer::InvalidatedError) { source | mask_slice } assert_raise(IO::Buffer::InvalidatedError) { source ^ mask_slice } + + source = source.dup + assert_raise(IO::Buffer::InvalidatedError) { source.and!(mask_slice) } + assert_raise(IO::Buffer::InvalidatedError) { source.or!(mask_slice) } + assert_raise(IO::Buffer::InvalidatedError) { source.xor!(mask_slice) } end def test_bit_count diff --git a/test/ruby/test_sprintf.rb b/test/ruby/test_sprintf.rb index 1c7e89c265..bbbe6e7ec3 100644 --- a/test/ruby/test_sprintf.rb +++ b/test/ruby/test_sprintf.rb @@ -1,5 +1,6 @@ # frozen_string_literal: false require 'test/unit' +require 'rbconfig/sizeof' class TestSprintf < Test::Unit::TestCase def test_positional @@ -539,6 +540,11 @@ class TestSprintf < Test::Unit::TestCase def test_width_underflow bug = 'https://github.com/mruby/mruby/issues/3347' assert_equal("!", sprintf("%*c", 0, ?!.ord), bug) + + int_max = RbConfig::LIMITS["INT_MAX"] + assert_raise_with_message(ArgumentError, /width too big/) { + sprintf "%*c", int_max, 0x80 + } end def test_negative_width_overflow |
