For tests to behave well when run in parallel, each must refrain from using ports and test files that are in use by other tests.
Geode's Gradle build isolates concurrently executing tests by running each test class in a Docker container. To do this, the build applies an open source "Gradle Dockerized Test" plugin that is obsolete and appears to be unmaintained.
This ticket removes the obsolete plugin and replaces it with a small amount of custom Gradle code and a few minor changes to Geode:
- Configure Gradle to assign each concurrently executing test JVM a unique working directory and a distinct range of ports.
- Change Geode's "available port" feature to allocate ports only from the ranges assigned by Gradle.