From ed41225edd5e5488db13785aac7180e613c07915 Mon Sep 17 00:00:00 2001 From: Matt Valentine-House Date: Wed, 21 Dec 2022 15:48:00 +0000 Subject: 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 :[] --- test/ruby/test_gc_compact.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'test') 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 -- cgit v1.2.3