From ee0eca191f3ca486b6056234add436a8c1488dba Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Thu, 30 Nov 2023 14:48:26 -0500 Subject: Make String#undump compaction safe --- test/ruby/test_string.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'test/ruby') diff --git a/test/ruby/test_string.rb b/test/ruby/test_string.rb index 2ccabcbe80..42553cba82 100644 --- a/test/ruby/test_string.rb +++ b/test/ruby/test_string.rb @@ -896,6 +896,17 @@ CODE } end + def test_undump_gc_compact_stress + a = S("Test") << 1 << 2 << 3 << 9 << 13 << 10 + EnvUtil.under_gc_compact_stress do + assert_equal(a, S('"Test\\x01\\x02\\x03\\t\\r\\n"').undump) + end + + EnvUtil.under_gc_compact_stress do + assert_equal(S("\u{ABCDE 10ABCD}"), S('"\\u{ABCDE 10ABCD}"').undump) + end + end + def test_dup for frozen in [ false, true ] a = S("hello") -- cgit v1.2.3