summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Valentine-House <matt@eightbitraptor.com>2022-12-21 15:48:00 +0000
committernagachika <nagachika@ruby-lang.org>2024-11-22 08:06:01 +0900
commited41225edd5e5488db13785aac7180e613c07915 (patch)
tree0ee27dc71a83950eb2d35c69cb2b5f61618abd00
parent2861aa22d01a817d84842dec8cc7a57c01f96139 (diff)
Fix Error in GC Compaction specs
Previously if any of the tests that move objects between size pools failed to move anything, then the call to stats.dig would return `nil` which would then cause assert_operator to error. This should be a test Failure, rather than an Error so this commit uses a default value of 0 if stats.dig fails to find a key. Also refactor object movement tests to use stats.dig, rather than :[]
-rw-r--r--test/ruby/test_gc_compact.rb6
1 files changed, 3 insertions, 3 deletions
diff --git a/test/ruby/test_gc_compact.rb b/test/ruby/test_gc_compact.rb
index d53e61d252..8272a3fff3 100644
--- a/test/ruby/test_gc_compact.rb
+++ b/test/ruby/test_gc_compact.rb
@@ -323,7 +323,7 @@ class TestGCCompact < Test::Unit::TestCase
end
stats = GC.verify_compaction_references(expand_heap: true, toward: :empty)
- assert_operator(stats.dig(:moved_down, :T_ARRAY), :>=, ARY_COUNT)
+ assert_operator(stats.dig(:moved_down, :T_ARRAY) || 0, :>=, ARY_COUNT)
assert(arys) # warning: assigned but unused variable - arys
end;
end
@@ -345,7 +345,7 @@ class TestGCCompact < Test::Unit::TestCase
end
stats = GC.verify_compaction_references(expand_heap: true, toward: :empty)
- assert_operator(stats.dig(:moved_up, :T_ARRAY), :>=, ARY_COUNT)
+ assert_operator(stats.dig(:moved_up, :T_ARRAY) || 0, :>=, ARY_COUNT)
assert(arys) # warning: assigned but unused variable - arys
end;
end
@@ -375,7 +375,7 @@ class TestGCCompact < Test::Unit::TestCase
stats = GC.verify_compaction_references(expand_heap: true, toward: :empty)
- assert_operator(stats[:moved_up][:T_OBJECT], :>=, OBJ_COUNT)
+ assert_operator(stats.dig(:moved_up, :T_OBJECT) || 0, :>=, OBJ_COUNT)
end;
end