summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/.excludes-mmtk/TestObjSpace.rb1
-rw-r--r--test/ruby/test_io_buffer.rb9
-rw-r--r--test/ruby/test_sprintf.rb6
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