JUnit 4.11 and Surefire 2.13 have been released. Both contains what we
need, so we should now be able to migrate away from our internal forks.
You can already try junit by specifying the version on the command line:
mvn test -Djunit.version=4.11.
For Surefire, it's a little bit more complex as some parameters has been
Two points however:
- When I tried JUnit 4.11, I had recurring test failures on HBase. It's
more likely to be an HBase issue than a JUnit one, and it's better to fix
them before migrating. See stuff in HBASE-4955. So if you want to kick out
some test flakiness, please give it a try.
- Surefire now redirects more output on screen. The detailed explanation is
in SUREFIRE-800; but it's basically a JUnit limitation. However, Surefire
now allows us to reuse forks, and this also gives a better output
redirection. So we would do something like: for small tests, execute in
parallel in reusable forks. For medium & large: as today (save us from
issues with static on reused fork). I gave it a try, it seems to work. As
it's a new feature, I think it's safer to wait something like 2 weeks
before putting it in place however.
So that's the plan, if you want to change anything, just ask ;-)