-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support saturating the ForkJoinPool via a property #3027
Conversation
...unit/platform/engine/support/hierarchical/DefaultParallelExecutionConfigurationStrategy.java
Show resolved
Hide resolved
...unit/platform/engine/support/hierarchical/DefaultParallelExecutionConfigurationStrategy.java
Show resolved
Hide resolved
a29be1f
to
9aaf314
Compare
15b660d
to
dd16846
Compare
The JUnit Platform now supports saturating the ForkJoinPool via a property. Enabling this property will limit the number of concurrently executing tests will to the configured parallelism even when some are blocked. For JUnit Jupiter this can be enabled by through the `junit.jupiter.execution.parallel.config.dynamic.saturate` and `junit.jupiter.execution.parallel.config.fixed.saturate` configuration properties. Fixes: junit-team#2545 Fixes: junit-team#1858 Fixes: junit-team#3026
dd16846
to
2841296
Compare
The windows build fails with |
@mpkorstanje Could you please briefly explain why all three issues would be fixed by merging this PR? |
The solution to #1858 and #2545 comes from ensuring the number of running tests does not exceed the desired parallelism. This can be achieved by implementing a strategy that returns a Unfortunately I overlooked that both the Lines 45 to 46 in 34ccae7
Adding a |
On second thought, only |
And on third thought, with the fixed strategy is there a reason not to allow the fork join pool to be saturated. Tests rejected by the pool would fail when the pool could not be saturated, but what value would that have? |
I'll come back to this when I've got a coherent proposal. |
Overview
The JUnit Platform now supports saturating the ForkJoinPool via a property.
Enabling this property will limit the number of concurrently executing tests
will to the configured parallelism even when some are blocked.
For JUnit Jupiter this can be enabled by through the
junit.jupiter.execution.parallel.config.dynamic.saturate
andjunit.jupiter.execution.parallel.config.fixed.saturate
configurationproperties.
Fixes: #2545
Fixes: #1858
Fixes: #3026
I hereby agree to the terms of the JUnit Contributor License Agreement.
Definition of Done
@API
annotations