Description
Is your feature request related to a problem? Please describe.
Currently the top level pom.xml
contains:
<plugin>
<!-- UNIT TEST RUNNER -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<forkCount>1</forkCount>
<reuseForks>false</reuseForks>
<trimStackTrace>false</trimStackTrace>
</configuration>
...
We should really do better and shorten the time required to run the tests. Currently Linux builds in Travis take some 30+ mins, macOS takes 45+ mins, AppVeyor Windows builds take some 17 mins.
The documentation on https://maven.apache.org/surefire/maven-surefire-plugin/examples/fork-options-and-parallel-execution.html says:
forkCount=1/reuseForks=false executes each test class in its own JVM process, one after another. It creates the highest level of separation for the test execution, but it would probably also give you the longest execution time of all the available options. Consider it as a last resort.
Describe the solution you'd like
The test cases should really be rewritten to allow for higher level of parallelism.
Describe alternatives you've considered
The forkCount
can be combined with parallel=method
per the above linked documentation however I think lots of the tests would fail running in that environment.
Additional context
N/A