Try to shutdown running Virgo if necessary before starting a smoke test
diff --git a/org.eclipse.virgo.test.tools/src/main/java/org/eclipse/virgo/test/tools/AbstractSmokeTests.java b/org.eclipse.virgo.test.tools/src/main/java/org/eclipse/virgo/test/tools/AbstractSmokeTests.java
index 26dc190..74f12e5 100644
--- a/org.eclipse.virgo.test.tools/src/main/java/org/eclipse/virgo/test/tools/AbstractSmokeTests.java
+++ b/org.eclipse.virgo.test.tools/src/main/java/org/eclipse/virgo/test/tools/AbstractSmokeTests.java
@@ -20,6 +20,7 @@
import static org.junit.Assert.assertTrue;
import java.io.File;
+import java.util.concurrent.TimeUnit;
import org.junit.After;
import org.junit.Before;
@@ -34,6 +35,17 @@
@Before
public void startServer() throws Exception {
+ if (!isDefaultJmxPortAvailable()) {
+ System.out.println("Port not available. Waiting for a few seconds.");
+ TimeUnit.SECONDS.sleep(10);
+ if (!isDefaultJmxPortAvailable()) {
+ System.out.println("Port still not available. Trying to shutdown running Virgo.");
+ shutdown(ServerUtils.getBinDir(getVirgoFlavor()));
+ if (!isDefaultJmxPortAvailable()) {
+ System.out.println("Port still not available. Giving up.");
+ }
+ }
+ }
assertTrue("Default JMX port in use. Is another Virgo server still up and running?!", isDefaultJmxPortAvailable());
startup(ServerUtils.getBinDir(getVirgoFlavor()));
assertTrue("Server '" + getVirgoFlavor() + "' not started properly.", waitForVirgoServerStartFully());