From 79eb5e1acac2339c6ec71db723298bdfcd92b233 Mon Sep 17 00:00:00 2001 From: Koichi Sasada Date: Thu, 12 Dec 2019 03:31:13 +0900 Subject: call GC.compact after each test. RUBY_TEST_GC_COMPACT=1 enables GC.compact checker which calls GC.compact after each test. --- tool/lib/gc_compact_checker.rb | 10 ++++++++++ tool/test/runner.rb | 1 + 2 files changed, 11 insertions(+) create mode 100644 tool/lib/gc_compact_checker.rb diff --git a/tool/lib/gc_compact_checker.rb b/tool/lib/gc_compact_checker.rb new file mode 100644 index 0000000000..a6ef3d3ce8 --- /dev/null +++ b/tool/lib/gc_compact_checker.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module GCCompactChecker + def after_teardown + super + GC.compact + end +end + +Test::Unit::TestCase.include GCCompactChecker if ENV['RUBY_TEST_GC_COMPACT'] diff --git a/tool/test/runner.rb b/tool/test/runner.rb index 708d654935..60d9af24b0 100644 --- a/tool/test/runner.rb +++ b/tool/test/runner.rb @@ -9,6 +9,7 @@ require "profile_test_all" if ENV.key?('RUBY_TEST_ALL_PROFILE') require "tracepointchecker" require "zombie_hunter" require "iseq_loader_checker" +require "gc_compact_checker" require_relative "../test-coverage.rb" if ENV.key?('COVERAGE') case $0 -- cgit v1.2.3