Skip to content
  • Yusuke Endoh's avatar
    5bf75c20
    Refactor the settings of test-all out · 5bf75c20
    Yusuke Endoh authored
    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])}
                                             ^^^^^^^^^^
    ```
    5bf75c20
    Refactor the settings of test-all out
    Yusuke Endoh authored
    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])}
                                             ^^^^^^^^^^
    ```
Loading