diff options
Diffstat (limited to 'test/ruby/test_string_memory.rb')
| -rw-r--r-- | test/ruby/test_string_memory.rb | 41 |
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 |
