TEST: Stablize Minio Free Port Search (#34894)

* Binding to `0` gives us free ports that are assigned sequentially by Linux making collisions much less likely compared to manually finding a free port in a range
* Closes #32208
This commit is contained in:
Armin Braun 2018-10-26 12:55:21 +02:00 committed by GitHub
parent 33345d96ef
commit 65edec0d42
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 8 deletions

View File

@ -202,14 +202,11 @@ if (useFixture && minioDistribution) {
doLast {
// get free port
for (int port = 60920; port < 60940; port++) {
ServerSocket serverSocket = new ServerSocket(0, 1, InetAddress.getByName(minioAddress))
try {
javax.net.ServerSocketFactory.getDefault().createServerSocket(port, 1, InetAddress.getByName(minioAddress)).close()
minioPort = port
break
} catch (BindException e) {
logger.info("Port " + port + " for Minio process is already taken", e)
}
minioPort = serverSocket.localPort
} finally {
serverSocket.close()
}
if (minioPort == 0) {
throw new GradleException("Could not find a free port for Minio")