Refactor the settings of test-all out
test/runner.rb and tool/lib/test/unit/parallel.rb must use the same settings. However, some settings were copied and pasted, while some were added only to test/runner.rb. This changeset creates tool/test/init.rb for all settings of test-unit, which is loaded not only by test/runner.rb but also tool/lib/test/unit/parallel.rb. Background: the GEM_HOME environment variable was removed in test/runner.rb, which prohibit `require "rake"` (note that rake is a bundled gem). However the parallel mode didn't refrect this setting, i.e., `require "rake"` was allowed. This leads to an inconsistency, which actually affected a test test defines s test class *only when* `require "rake"` is successful. (test/rubygems/test_gem_package_task.rb) https://github.com/ruby/ruby/actions/runs/6807729617/job/18511055636#step:8:1714 ``` /home/runner/work/ruby/ruby/src/tool/lib/test/unit.rb:729:in `const_get': uninitialized constant TestGemPackageTask (NameError) suites.map! {|r| ::Object.const_get(r[:testcase])} ^^^^^^^^^^ ```
This commit is contained in:
parent
960a031a06
commit
5bf75c20a2
@ -1,9 +1,5 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
# Should be done in rubygems test files?
|
||||
ENV["GEM_SKIP"] = ENV["GEM_HOME"] = ENV["GEM_PATH"] = "".freeze
|
||||
ENV.delete("RUBY_CODESIGN")
|
||||
|
||||
Warning[:experimental] = false
|
||||
# NOTE: Do not add any settings here for test-all. Instead, please add it to ../tool/test/init.rb.
|
||||
|
||||
require_relative '../tool/test/runner'
|
||||
|
@ -1,12 +1,6 @@
|
||||
# frozen_string_literal: true
|
||||
$LOAD_PATH.unshift "#{__dir__}/../.."
|
||||
require_relative '../../test/unit'
|
||||
|
||||
require_relative '../../profile_test_all' if ENV.key?('RUBY_TEST_ALL_PROFILE')
|
||||
require_relative '../../tracepointchecker'
|
||||
require_relative '../../zombie_hunter'
|
||||
require_relative '../../iseq_loader_checker'
|
||||
require_relative '../../gc_checker'
|
||||
require_relative "../../../test/init"
|
||||
|
||||
module Test
|
||||
module Unit
|
||||
|
18
tool/test/init.rb
Normal file
18
tool/test/init.rb
Normal file
@ -0,0 +1,18 @@
|
||||
# This file includes the settings for "make test-all".
|
||||
# Note that this file is loaded not only by test/runner.rb but also by tool/lib/test/unit/parallel.rb.
|
||||
|
||||
ENV["GEM_SKIP"] = ENV["GEM_HOME"] = ENV["GEM_PATH"] = "".freeze
|
||||
ENV.delete("RUBY_CODESIGN")
|
||||
|
||||
Warning[:experimental] = false
|
||||
|
||||
$LOAD_PATH.unshift File.expand_path("../lib", __dir__)
|
||||
|
||||
require 'test/unit'
|
||||
|
||||
require "profile_test_all" if ENV.key?('RUBY_TEST_ALL_PROFILE')
|
||||
require "tracepointchecker"
|
||||
require "zombie_hunter"
|
||||
require "iseq_loader_checker"
|
||||
require "gc_checker"
|
||||
require_relative "../test-coverage.rb" if ENV.key?('COVERAGE')
|
@ -1,16 +1,7 @@
|
||||
# frozen_string_literal: true
|
||||
require 'rbconfig'
|
||||
|
||||
$LOAD_PATH.unshift File.expand_path("../lib", __dir__)
|
||||
|
||||
require 'test/unit'
|
||||
|
||||
require "profile_test_all" if ENV.key?('RUBY_TEST_ALL_PROFILE')
|
||||
require "tracepointchecker"
|
||||
require "zombie_hunter"
|
||||
require "iseq_loader_checker"
|
||||
require "gc_checker"
|
||||
require_relative "../test-coverage.rb" if ENV.key?('COVERAGE')
|
||||
require_relative "init"
|
||||
|
||||
case $0
|
||||
when __FILE__
|
||||
|
Loading…
x
Reference in New Issue
Block a user