10000 Refactor the settings of test-all out · ruby/ruby@5bf75c2 · GitHub
[go: up one dir, main page]

Skip to content

Commit 5bf75c2

Browse files
committed
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])} ^^^^^^^^^^ ```
1 parent 960a031 commit 5bf75c2

File tree

4 files changed

+22
-23
lines changed

4 files changed

+22
-23
lines changed

test/runner.rb

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
# frozen_string_literal: true
22

3-
# Should be done in rubygems test files?
4-
ENV["GEM_SKIP"] = ENV["GEM_HOME"] = ENV["GEM_PATH"] = "".freeze
5-
ENV.delete("RUBY_CODESIGN")
6-
7-
Warning[:experimental] = false
3+
# NOTE: Do not add any settings here for test-all. Instead, please add it to ../tool/test/init.rb.
84

95
require_relative '../tool/test/runner'

tool/lib/test/unit/parallel.rb

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,6 @@
11
# frozen_string_literal: true
2-
$LOAD_PATH.unshift "#{__dir__}/../.."
3-
require_relative '../../test/unit'
4-
5-
require_relative '../../profile_test_all' if ENV.key?('RUBY_TEST_ALL_PROFILE')
6-
require_relative '../../tracepointchecker'
7-
require_relative '../../zombie_hunter'
8-
require_relative '../../iseq_loader_checker'
9-
require_relative '../../gc_checker'
2+
3+
require_relative "../../../test/init"
104

115
module Test
126
module Unit

tool/test/init.rb

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# This file includes the settings for "make test-all".
2+
# Note that this file is loaded not only by test/runner.rb but also by tool/lib/test/unit/parallel.rb.
3+
4+
ENV["GEM_SKIP"] = ENV["GEM_HOME"] = ENV["GEM_PATH"] = "".freeze
5+
ENV.delete("RUBY_CODESIGN")
6+
7+
Warning[:experimental] = false
8+
9+
$LOAD_PATH.unshift File.expand_path("../lib", __dir__)
10+
11+
require 'test/unit'
12+
13+
require "profile_test_all" if ENV.key?('RUBY_TEST_ALL_PROFILE')
14+
require "tracepointchecker"
15+
require "zombie_hunter"
16+
require "iseq_loader_checker"
17+
require "gc_checker"
18+
require_relative "../test-coverage.rb" if ENV.key?('COVERAGE')

tool/test/runner.rb

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,7 @@
11
# frozen_string_literal: true
22
require 'rbconfig'
33

4-
$LOAD_PATH.unshift File.expand_path("../lib", __dir__)
5-
6-
require 'test/unit'
7-
8-
require "profile_test_all" if ENV.key?('RUBY_TEST_ALL_PROFILE')
9-
require "tracepointchecker"
10-
require "zombie_hunter"
11-
require "iseq_loader_checker"
12-
require "gc_checker"
13-
require_relative "../test-coverage.rb" if ENV.key?('COVERAGE')
4+
require_relative "init"
145

156
case $0
167
when __FILE__

0 commit comments

Comments
 (0)
0