Test discovery: Make classpath scanning fallback configurable #4017
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #3973.
Introduces a system property
"kotest.framework.discovery.classpath.scanning.enabled",
defaulting to "true".
This exists to work around a Gradle bug which occurs with JunitPlatform
and
maxParallelForks > 1
(process parallelization). In this case,depending on the number of CPU cores, Gradle may invoke all but one
Kotest launchers with a non-empty list of class selectors, and the
remaining Kotest launcher with an empty list of class selectors,
triggering a classpath scan in Kotest. In that case, tests will execute
twice (discovered once via a class selector, a second time via the
classpath scan).
Also makes Kotest-internal debug logging multi-process-aware,
naming log files like "kotest-PID.log", containing the respective
process id.