When using Surefire >= 2.18, I've encountered a problem when setting forkCount > 1 and reuseForks = true.
Tests should run simultaneously, each on a separate fork.
All tests run on just one fork, sequentially.
Setting reuseForks = false gives the expected behaviour.
Reverting to Surefire 2.17 also gives the expected behaviour.
I've attached a project that demonstrates the issue. Here I've created two tests, each of which prints the fork number and sleeps for 5 seconds. The total run time is 10 seconds with Surefire 2.18 and 2.18.1, but 5 seconds with version 2.17.