diff --git a/test-framework/core/src/main/java/org/keycloak/testframework/server/DistributionKeycloakServer.java b/test-framework/core/src/main/java/org/keycloak/testframework/server/DistributionKeycloakServer.java index a2b1e289229..05a9065ff18 100644 --- a/test-framework/core/src/main/java/org/keycloak/testframework/server/DistributionKeycloakServer.java +++ b/test-framework/core/src/main/java/org/keycloak/testframework/server/DistributionKeycloakServer.java @@ -71,12 +71,11 @@ public class DistributionKeycloakServer implements KeycloakServer { List args = keycloakServerConfigBuilder.toArgs(); Set dependencies = keycloakServerConfigBuilder.toDependencies(); - if (!reuse) { - killPreviousProcess(); - } - try { boolean installationCreated = createInstallation(); + if (!reuse) { + killPreviousProcess(); + } File providersDir = new File(keycloakHomeDir, "providers"); List existingProviders = listExistingProviders(providersDir); @@ -426,13 +425,17 @@ public class DistributionKeycloakServer implements KeycloakServer { } } catch (IOException e) { // Ignored + } finally { + if (startupLatch.getCount() != 0) { + startupLatch.countDown(); + } } } public boolean waitForStarted() { try { startupLatch.await(startTimeout, TimeUnit.SECONDS); - return true; + return process.isAlive(); } catch (InterruptedException e) { return false; }