Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Maven surefire forkMode pertest deprecated. What is the new settings?

As of Surefire 2.14 the forkMode configuration setting has been deprecated. They even helpfully provide a mapping from some of the old settings to new settings here (http://maven.apache.org/surefire/maven-surefire-plugin/examples/fork-options-and-parallel-execution.html).

The problem is we use <forkMode>pertest</forkMode> which does not have a mapping on that page, and my google-fu is failing to find the appropriate updated configuration for it.

What is the appropriate forkCount, reuseForks, parallel and/or other configuration to replace the deprecated forkMode=pertest setting?

like image 233
Digital Deception Avatar asked Oct 17 '16 22:10

Digital Deception


1 Answers

That isn't mentioned in the documentation, but <forkMode>pertest</forkMode> is the same as always forking. This is the check in the code:

if ( "pertest".equalsIgnoreCase( forkMode ) )
{
    return FORK_ALWAYS;
}

This synonym was made during resolution of the JIRA issue SUREFIRE-96, where, quoting Brett Porter:

pertest and perTest still work, but I've changed it to "always" which seems consistent with "once", and also changed "none" to "never".

As such, you should migrate your current configuration of <forkMode>pertest</forkMode> to forkCount=1 and reuseForks=false, like mentioned in Migrating the Deprecated forkMode Parameter to forkCount and reuseForks.

like image 104
Tunaki Avatar answered Oct 11 '22 10:10

Tunaki