Wait for server port to be written in a more robust manner

Previously, we just waited for the file to exist before trying to read
the port from it. This left a window where the file existed but its
contents had not be written which could result in a
NumberFormatException.

This commit now waits for the file to have a length that is greater
than zero.

See gh-7379
This commit is contained in:
Andy Wilkinson 2016-11-17 20:41:25 +00:00
parent 5857010dde
commit 5dea4c5a03

View File

@ -139,7 +139,7 @@ public class DevToolsIntegrationTests {
private int awaitServerPort() throws Exception {
long end = System.currentTimeMillis() + 20000;
while (!this.serverPortFile.exists()) {
while (this.serverPortFile.length() == 0) {
if (System.currentTimeMillis() > end) {
throw new IllegalStateException(
"server.port file was not written within 20 seconds");