Details
-
Type:
New Feature
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 2.10
-
Fix Version/s: 2.12
-
Component/s: process forking
-
Labels:None
-
Environment:all
-
Complexity:Intermediate
-
Number of attachments :
Description
Surefire already allows:
- forking
- parallelization within a JVM
Mixing both features would mean forking multiple JVM instead of only one.
It would allow to parallelize tests that need to be executed in a separate JVM (i.e.: with forkMode=always). Usually these tests take longer than the simple ones. In our case, 40% of the tests are executed in 4 minutes, the other 60% need two hours. So it's obviously more interesting to parallelize the former, but these ones need to fork.
Issue Links
- is related to
-
SUREFIRE-913
forkMode always - RejectedExecutionException when > 500 tests
-
-
SUREFIRE-751
Support parallel/fork mode similar to http://maven-junit-plugin.kenai.com/
-
Both parallel forks, balanced parallel forks and reusable forks are part of the long term plan (which is written on the backside of a napkin I have lying around here somewhere - if I haven't lost it). Unfortunately I will not be implementing this until the overall complexity of the surefire forking logic is reduced to a minimum. This has been an ongoing process since at least version 2.8 and will probably continue for a few more versions after 2.11. If anyone wants to take a shot at this, go ahead. Just be warned the code is still changing quite alot in this section.