diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/KeycloakServer.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/KeycloakServer.java
index 9f7530d..985ae9c 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/KeycloakServer.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/KeycloakServer.java
@@ -46,6 +46,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.net.BindException;
import java.util.Properties;
/**
@@ -289,37 +290,43 @@ public class KeycloakServer {
.setWorkerThreads(config.getWorkerThreads())
.setIoThreads(config.getWorkerThreads() / 8);
- server = new UndertowJaxrsServer().start(builder);
+ server = new UndertowJaxrsServer();
+ try {
+ server.start(builder);
- DeploymentInfo di = server.undertowDeployment(deployment, "");
- di.setClassLoader(getClass().getClassLoader());
- di.setContextPath("/auth");
- di.setDeploymentName("Keycloak");
- di.setDefaultEncoding("UTF-8");
+ DeploymentInfo di = server.undertowDeployment(deployment, "");
+ di.setClassLoader(getClass().getClassLoader());
+ di.setContextPath("/auth");
+ di.setDeploymentName("Keycloak");
+ di.setDefaultEncoding("UTF-8");
- di.setDefaultServletConfig(new DefaultServletConfig(true));
- di.addWelcomePage("theme/keycloak/welcome/resources/index.html");
+ di.setDefaultServletConfig(new DefaultServletConfig(true));
+ di.addWelcomePage("theme/keycloak/welcome/resources/index.html");
- FilterInfo filter = Servlets.filter("SessionFilter", KeycloakSessionServletFilter.class);
- di.addFilter(filter);
- di.addFilterUrlMapping("SessionFilter", "/*", DispatcherType.REQUEST);
+ FilterInfo filter = Servlets.filter("SessionFilter", KeycloakSessionServletFilter.class);
+ di.addFilter(filter);
+ di.addFilterUrlMapping("SessionFilter", "/*", DispatcherType.REQUEST);
- FilterInfo connectionFilter = Servlets.filter("ClientConnectionFilter", ClientConnectionFilter.class);
- di.addFilter(connectionFilter);
- di.addFilterUrlMapping("ClientConnectionFilter", "/*", DispatcherType.REQUEST);
+ FilterInfo connectionFilter = Servlets.filter("ClientConnectionFilter", ClientConnectionFilter.class);
+ di.addFilter(connectionFilter);
+ di.addFilterUrlMapping("ClientConnectionFilter", "/*", DispatcherType.REQUEST);
- server.deploy(di);
+ server.deploy(di);
- sessionFactory = ((KeycloakApplication) deployment.getApplication()).getSessionFactory();
+ sessionFactory = ((KeycloakApplication) deployment.getApplication()).getSessionFactory();
- setupDevConfig();
+ setupDevConfig();
- if (config.getResourcesHome() != null) {
- info("Loading resources from " + config.getResourcesHome());
- }
+ if (config.getResourcesHome() != null) {
+ info("Loading resources from " + config.getResourcesHome());
+ }
- info("Started Keycloak (http://" + config.getHost() + ":" + config.getPort() + "/auth) in "
- + (System.currentTimeMillis() - start) + " ms\n");
+ info("Started Keycloak (http://" + config.getHost() + ":" + config.getPort() + "/auth) in "
+ + (System.currentTimeMillis() - start) + " ms\n");
+ } catch (RuntimeException e) {
+ server.stop();
+ throw e;
+ }
}
private void info(String message) {