aboutsummaryrefslogtreecommitdiffstats
path: root/tool
diff options
context:
space:
mode:
Diffstat (limited to 'tool')
-rw-r--r--tool/lib/gc_compact_checker.rb10
-rw-r--r--tool/test/runner.rb1
2 files changed, 11 insertions, 0 deletions
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