summaryrefslogtreecommitdiff
path: root/tool/lib/test/unit/parallel.rb
AgeCommit message (Collapse)Author
2024-08-07Fix a typoYusuke Endoh
2024-08-06Dump all-thread backtraces when test parallel worker exceeds time limitYusuke Endoh
Notes: Merged: https://github.com/ruby/ruby/pull/11315
2024-02-23Add Launchable into CINaoto Ono
2023-11-15Refactor the settings of test-all outYusuke Endoh
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])} ^^^^^^^^^^ ```
2023-02-28fix test/rubygems/test_gem_package_task.rb when in -j modelukeg
This test skipped sometimes due to failure to load 'rake/packagetask'. This is due to manipulation of $LOAD_PATH by other rubygems tests. If rake is loaded before any rubygems tests run, then it works fine. To reproduce the skipping behavior: $ make test-all TESTOPTS="-j6 --test-order=sorted test/rubygems/test_*.rb" Notes: Merged: https://github.com/ruby/ruby/pull/7394
2023-01-18Supressing warnings messages like:Hiroshi SHIBATA
Ignoring debug-1.7.1 because its extensions are not built. Try: gem pristine debug --version 1.7. Revert "Clear gem paths for each test" This reverts commit 6698b580ddad8cfa8c5c86df9328472820d3ee6a.
2023-01-15Clear gem paths for each testNobuyoshi Nakada
So that rubygems can find the bundled rake. Notes: Merged: https://github.com/ruby/ruby/pull/7122
2021-10-26Revert "introduce check code for mysterious EBADF"Koichi Sasada
This reverts commit 7864efa105921eb3900c843126f2e0db02b9c6ae.
2021-10-26Revert "check other IO#close calls"Koichi Sasada
This reverts commit a1c4cab11d613d7df037a81a770ee44a23a2e9be.
2021-10-25check other IO#close callsKoichi Sasada
http://ci.rvm.jp/results/trunk@ruby-iga/3690333 > tool/lib/test/unit/parallel.rb:68:in `close': Bad file descriptor (Errno::EBADF)
2021-10-25introduce check code for mysterious EBADFKoichi Sasada
parallel test randomly failed with EBADF. This patch checks wich suite causes this error. ex) http://ci.rvm.jp/results/trunk@ruby-iga/3690219 ``` /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:88:in `close': Bad file descriptor (Errno::EBADF) /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:88:in `ensure in _run_suite' /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:89:in `_run_suite' /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:30:in `block in _run_suites' /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:29:in `map' /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:29:in `_run_suites' /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:128:in `run' /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:211:in `<main>' ```
2021-10-17Retry hung tests after parallel runsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4976
2021-10-17Replace unpack with unpack1Nobuyoshi Nakada
2021-10-15Prefer `require_relative`Nobuyoshi Nakada
2021-09-11Directly alias orig_run_suiteNobuyoshi Nakada
2021-09-11Replace Test::Assertion and Test::Skip to Test::Unit::AssertionFailedError ↵Hiroshi SHIBATA
and Test::Unit::PendedError Notes: Merged: https://github.com/ruby/ruby/pull/4813
2021-09-11Integrate Minitest to TestHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/4813
2021-09-11Replace MiniTest::Unit to Test::Unit::RunnerHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/4813
2021-09-11Use Test::Unit namespaceHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/4813
2021-08-05check GC.enable'd statusKoichi Sasada
Check GC.enable'd status before and after test execution. Write this checker in gc_checker.rb, it was renamed from gc_compact_checker.rb. Notes: Merged: https://github.com/ruby/ruby/pull/4710
2020-12-01tune parallel testKoichi Sasada
This patch contains the fowllowing hacks: (1) Add "--timetable-data=FILE" option for test-all This option enables to dump timeline event contains worker, suite, and start/end time. (2) remove TestJIT in test_jit_debug.rb on parallel test. it is duplicated test. (3) move test_jit.rb and test_jit_debug.rb at first because these two tests are bottleneck of parallel tests. On my environment, `make test-all TESTS=-j12` reduced the total time 190 seconds -> 140 seconds. Notes: Merged: https://github.com/ruby/ruby/pull/3826
2020-04-17Rescue EPIPE in _reportNobuyoshi Nakada
Instead of letting callers rescue the error always.
2019-12-12support gc_compact_checker on parallel test.Koichi Sasada
2019-12-03tool/lib/test/unit/parallel.rb: fail explicitly when failing to get ioYusuke Endoh
`(ulimit -n 30; make test-tool)` fails with unexplicit message: "undefined method `write' for nil:NilClass" due to lack of stdout. This change makes it explicit. [Bug #5577]
2019-11-09Add debug printKazuhiro NISHIYAMA
http://ci.rvm.jp/results/trunk-mjit@silicon-docker/2380788 ``` test_all #<Thread:0x000055b6c8e9fca8@/tmp/ruby/v2/src/trunk-mjit/tool/lib/test/unit/parallel.rb:42 run> terminated with exception (report_on_exception is true): <internal:pack>:134:in `pack': no implicit conversion of false into String (TypeError) from /tmp/ruby/v2/src/trunk-mjit/tool/lib/test/unit/parallel.rb:160:in `_report' from /tmp/ruby/v2/src/trunk-mjit/tool/lib/test/unit/parallel.rb:45:in `block in _run_suite' ```
2019-10-02Enable checkers on parallel test.Koichi Sasada
parallel test (`make test-all TESTS=-j8`) runs tests on specified number of processes. However, some test checkers written in `runner.rb` are not loaded. This fix enable these checkers on parallel tests. See also: https://github.com/ruby/ruby/pull/2508
2019-07-24@@project_dir in Gem::TestCase is no longer usedNobuyoshi Nakada
2019-07-02Move to tool/lib from test/lib.Hiroshi SHIBATA