summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorBenoit Daloze <[email protected]>2024-02-14 11:41:33 +0100
committerHiroshi SHIBATA <[email protected]>2024-02-15 07:44:03 +0900
commitd24be39d69f1f673048cd6c94d1354a3a9e3029d (patch)
treec1eb8b1c502b7b447f2f950f71103d146749f839 /spec
parent6f9ca7f4539a94c6e328f511b7e3c4ab201532a9 (diff)
Only check constant leaks by default for `make test-spec`
* See https://github.com/ruby/ruby/pull/9548
Diffstat (limited to 'spec')
-rw-r--r--spec/default.mspec4
-rw-r--r--spec/mspec/lib/mspec/runner/formatters/base.rb8
2 files changed, 9 insertions, 3 deletions
diff --git a/spec/default.mspec b/spec/default.mspec
index 9605d9a147..1ee9c4f8ac 100644
--- a/spec/default.mspec
+++ b/spec/default.mspec
@@ -4,8 +4,8 @@ if (opt = ENV["RUBYOPT"]) and (opt = opt.dup).sub!(/(?:\A|\s)-w(?=\z|\s)/, '')
ENV["RUBYOPT"] = opt
end
-# Enable leakcheckers by ruby/mspec
-ENV["CHECK_LEAKS"] ||= "true"
+# Enable constant leak checks by ruby/mspec
+ENV["CHECK_CONSTANT_LEAKS"] ||= "true"
require "./rbconfig" unless defined?(RbConfig)
require_relative "../tool/test-coverage" if ENV.key?("COVERAGE")
diff --git a/spec/mspec/lib/mspec/runner/formatters/base.rb b/spec/mspec/lib/mspec/runner/formatters/base.rb
index 54a83c9c32..e3b5bb23e0 100644
--- a/spec/mspec/lib/mspec/runner/formatters/base.rb
+++ b/spec/mspec/lib/mspec/runner/formatters/base.rb
@@ -5,6 +5,9 @@ require 'mspec/utils/options'
if ENV['CHECK_LEAKS']
require 'mspec/runner/actions/leakchecker'
+end
+
+if ENV['CHECK_LEAKS'] || ENV['CHECK_CONSTANT_LEAKS']
require 'mspec/runner/actions/constants_leak_checker'
end
@@ -40,8 +43,11 @@ class BaseFormatter
@counter = @tally.counter
if ENV['CHECK_LEAKS']
- save = ENV['CHECK_LEAKS'] == 'save'
LeakCheckerAction.new.register
+ end
+
+ if ENV['CHECK_LEAKS'] || ENV['CHECK_CONSTANT_LEAKS']
+ save = ENV['CHECK_LEAKS'] == 'save' || ENV['CHECK_CONSTANT_LEAKS'] == 'save'
ConstantsLeakCheckerAction.new(save).register
end