For the sake of performance, most of the tests are configured to run in the same VM. However some tests by design cannot be run in the same VM, and others cannot yet run in the same VM due to bugs or issues in the test. In order to improve the quality of the project we need to run as many tests as possible in the same VM. The more tests we can run on pre-integration the less likely we are to see failures leak into master. Being able to run 20,000 tests in a minute is extremely useful, but not possible, unless they run in the same VM. Something to keep in mind.
Running system tests with Robot
When running a system test that requires the Robot API, additional flags need to be passed:
./gradlew -PFULL_TEST=true -PUSE_ROBOT=true :systemTests:test --tests TestClassName
Testing with JDK 9 or JDK 10