diff options
author | Bogdan <bogdanvlviv@gmail.com> | 2018-12-18 20:25:35 +0200 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2018-12-18 10:25:35 -0800 |
commit | e9f6ce617be2f67b098e6fb689592f70c0009eb2 (patch) | |
tree | fb69f2829c8e70713d4ee15371eda27e98d0362d /guides/source | |
parent | 2f6456cbe1da73c13b37e23720caa8716df85e78 (diff) | |
download | rails-e9f6ce617be2f67b098e6fb689592f70c0009eb2.tar.gz rails-e9f6ce617be2f67b098e6fb689592f70c0009eb2.tar.bz2 rails-e9f6ce617be2f67b098e6fb689592f70c0009eb2.zip |
Add option to set parallel test worker count to the physical core count of the machine (#34735)
* Add option to set parallel test worker count to the physical core count of the machine
Also, use the physical core count of the machine as
the default number of workers, and generate the `test_helper.rb` file
with `parallelize(workers: :number_of_processors)`
Closes #34734
* Ensure that we always test parallel testing
Since #34734 we decided to use the physical core count of the machine as
the default number of workers in the parallel testing, we need to
ensure that some tests use at least 2 workers because we could
run those tests on VM that has only 1 physical core.
It also fixes tests failures on the CI since Travis server we are using
has only one physical core.
See https://travis-ci.org/rails/rails/jobs/469281088#L2352
Diffstat (limited to 'guides/source')
-rw-r--r-- | guides/source/testing.md | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/guides/source/testing.md b/guides/source/testing.md index 9541598b26..f34f9d95f4 100644 --- a/guides/source/testing.md +++ b/guides/source/testing.md @@ -473,8 +473,8 @@ takes your entire test suite to run. ### Parallel testing with processes The default parallelization method is to fork processes using Ruby's DRb system. The processes -are forked based on the number of workers provided. The default is 2, but can be changed by the -number passed to the parallelize method. +are forked based on the number of workers provided. The default number is the actual core count +on the machine you are on, but can be changed by the number passed to the parallelize method. To enable parallelization add the following to your `test_helper.rb`: @@ -516,7 +516,7 @@ class ActiveSupport::TestCase # cleanup databases end - parallelize(workers: 2) + parallelize(workers: :number_of_processors) end ``` @@ -531,7 +531,7 @@ To change the parallelization method to use threads over forks put the following ```ruby class ActiveSupport::TestCase - parallelize(workers: 2, with: :threads) + parallelize(workers: :number_of_processors, with: :threads) end ``` |