Fix flaky test_latest_gc_info_need_major_by

It's possible for a GC to run between the calls of GC.latest_gc_info,
which would cause the test to fail. We can disable GC so that GC only
triggers manually.
This commit is contained in:
Peter Zhu 2024-08-30 15:17:06 -04:00
parent c1fecc5eab
commit 1b82d63462

View File

@ -374,6 +374,7 @@ class TestGc < Test::Unit::TestCase
objects.append(100.times.map { '*' })
end
EnvUtil.without_gc do
# We need to ensure that no GC gets ran before the call to GC.start since
# it would trigger a major GC. Assertions could allocate objects and
# trigger a GC so we don't run assertions until we perform the major GC.
@ -384,6 +385,7 @@ class TestGc < Test::Unit::TestCase
assert_not_nil(need_major_by)
assert_not_nil(major_by)
end
end
def test_latest_gc_info_weak_references_count
assert_separately([], __FILE__, __LINE__, <<~RUBY)