summaryrefslogtreecommitdiff
path: root/test/ruby/test_string_memory.rb
diff options
context:
space:
mode:
authorPeter Zhu <[email protected]>2024-09-16 15:29:38 -0400
committerPeter Zhu <[email protected]>2024-09-17 10:34:26 -0400
commit0160dafc4c52b84bb1f989670b54186505649493 (patch)
treedc1b3679fd2394ef2625e938f122e1fd629664b2 /test/ruby/test_string_memory.rb
parent82151a86305d79cd2301d92258462f25fc28ac80 (diff)
Replace all GC.disable with EnvUtil.without_gc
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/11635
Diffstat (limited to 'test/ruby/test_string_memory.rb')
-rw-r--r--test/ruby/test_string_memory.rb41
1 files changed, 20 insertions, 21 deletions
diff --git a/test/ruby/test_string_memory.rb b/test/ruby/test_string_memory.rb
index e264dd5705..a93a3bd54a 100644
--- a/test/ruby/test_string_memory.rb
+++ b/test/ruby/test_string_memory.rb
@@ -6,32 +6,31 @@ class TestStringMemory < Test::Unit::TestCase
def capture_allocations(klass)
allocations = []
- GC.start
- GC.disable
- generation = GC.count
+ EnvUtil.without_gc do
+ GC.start
+ generation = GC.count
- ObjectSpace.trace_object_allocations do
- yield
+ ObjectSpace.trace_object_allocations do
+ yield
- ObjectSpace.each_object(klass) do |instance|
- allocations << instance if ObjectSpace.allocation_generation(instance) == generation
+ ObjectSpace.each_object(klass) do |instance|
+ allocations << instance if ObjectSpace.allocation_generation(instance) == generation
+ end
end
- end
- return allocations.map do |instance|
- [
- ObjectSpace.allocation_sourcefile(instance),
- ObjectSpace.allocation_sourceline(instance),
- instance.class,
- instance,
- ]
- end.select do |path,|
- # drop strings not created in this file
- # (the parallel testing framework may create strings in a separate thread)
- path == __FILE__
+ return allocations.map do |instance|
+ [
+ ObjectSpace.allocation_sourcefile(instance),
+ ObjectSpace.allocation_sourceline(instance),
+ instance.class,
+ instance,
+ ]
+ end.select do |path,|
+ # drop strings not created in this file
+ # (the parallel testing framework may create strings in a separate thread)
+ path == __FILE__
+ end
end
- ensure
- GC.enable
end
def test_byteslice_prefix