summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJemma Issroff <jemmaissroff@gmail.com>2022-11-08 15:35:31 -0500
committerPeter Zhu <peter@peterzhu.ca>2022-11-10 10:11:34 -0500
commit9986697b621e5345177a1c395489dcc9fab8602b (patch)
treeef33320e7a85d791a0f9176ccffd4725c9b956f4 /test
parent199b59f065ce6f1c13b8424f35a70c513523211b (diff)
Omit test on IO Buffers which relies on String being embedded
There is currently a bug ([#19084]) in how extended strings work in IO Buffers. Object Shapes changes will make the string in this test extended on 32 bit machines. Since this behavior is currently broken (unrelated to object shapes) on 32 bit machines, this test will then fail. We preemptively omit it so that this commit can be reverted once the bug is fixed.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/6699
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_io_buffer.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/test/ruby/test_io_buffer.rb b/test/ruby/test_io_buffer.rb
index 2204c3db09..70070e93c9 100644
--- a/test/ruby/test_io_buffer.rb
+++ b/test/ruby/test_io_buffer.rb
@@ -330,6 +330,10 @@ class TestIOBuffer < Test::Unit::TestCase
end
def test_read
+ # This is currently a bug in IO:Buffer [#19084] which affects extended
+ # strings. On 32 bit machines, the example below becomes extended, so
+ # we omit this test until the bug is fixed.
+ omit if GC::INTERNAL_CONSTANTS[:SIZE_POOL_COUNT] == 1
io = Tempfile.new
io.write("Hello World")
io.seek(0)
@@ -339,7 +343,7 @@ class TestIOBuffer < Test::Unit::TestCase
assert_equal "Hello", buffer.get_string(0, 5)
ensure
- io.close!
+ io.close! if io
end
def test_write