From 822ebbf256837c911cd63e85dd8a75584e09389d Mon Sep 17 00:00:00 2001 From: Rob Stryker Date: Thu, 6 Aug 2026 15:46:33 -0400 Subject: [PATCH 1/6] Add mock discovery tests for WildFly 39, 40, and 41 Verify that the existing WildFly 38+ server adapter correctly discovers and claims WildFly 39.0.1, 40.0.1, and 41.0.0 installations via the ServerBeanTypeWildflyPlus catch-all mechanism, without requiring new server type definitions. Co-Authored-By: Claude Opus 4.6 --- .../test/beans/JBossServerBeanLoaderTest.java | 3 ++ .../beans/MockServerCreationUtilities.java | 37 ++++++++++++++++--- 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/runtimes/tests/org.jboss.tools.rsp.server.wildfly.test/src/main/java/org/jboss/tools/rsp/server/wildfly/test/beans/JBossServerBeanLoaderTest.java b/runtimes/tests/org.jboss.tools.rsp.server.wildfly.test/src/main/java/org/jboss/tools/rsp/server/wildfly/test/beans/JBossServerBeanLoaderTest.java index f153e408a..763d5a441 100644 --- a/runtimes/tests/org.jboss.tools.rsp.server.wildfly.test/src/main/java/org/jboss/tools/rsp/server/wildfly/test/beans/JBossServerBeanLoaderTest.java +++ b/runtimes/tests/org.jboss.tools.rsp.server.wildfly.test/src/main/java/org/jboss/tools/rsp/server/wildfly/test/beans/JBossServerBeanLoaderTest.java @@ -112,6 +112,9 @@ public void setUp() { expected.put(MockServerCreationUtilities.TEST_SERVER_TYPE_JPP_60, new Data(JBossServerBeanTypeProvider.JPP6, "6.0.")); expected.put(MockServerCreationUtilities.TEST_SERVER_TYPE_JPP_61, new Data(JBossServerBeanTypeProvider.JPP61, "6.1.", "JPP")); expected.put(MockServerCreationUtilities.TEST_SERVER_TYPE_WONKA_1, new Data(JBossServerBeanTypeProvider.UNKNOWN_AS72_PRODUCT, "1.0.", "WONKA")); + expected.put(MockServerCreationUtilities.TEST_SERVER_TYPE_WILDFLY_390, new Data(JBossServerBeanTypeProvider.WILDFLY380, "39.0.")); + expected.put(MockServerCreationUtilities.TEST_SERVER_TYPE_WILDFLY_400, new Data(JBossServerBeanTypeProvider.WILDFLY380, "40.0.")); + expected.put(MockServerCreationUtilities.TEST_SERVER_TYPE_WILDFLY_410, new Data(JBossServerBeanTypeProvider.WILDFLY380, "41.0.")); // NEW_SERVER_ADAPTER } diff --git a/runtimes/tests/org.jboss.tools.rsp.server.wildfly.test/src/main/java/org/jboss/tools/rsp/server/wildfly/test/beans/MockServerCreationUtilities.java b/runtimes/tests/org.jboss.tools.rsp.server.wildfly.test/src/main/java/org/jboss/tools/rsp/server/wildfly/test/beans/MockServerCreationUtilities.java index 71c297b0f..41231fc44 100644 --- a/runtimes/tests/org.jboss.tools.rsp.server.wildfly.test/src/main/java/org/jboss/tools/rsp/server/wildfly/test/beans/MockServerCreationUtilities.java +++ b/runtimes/tests/org.jboss.tools.rsp.server.wildfly.test/src/main/java/org/jboss/tools/rsp/server/wildfly/test/beans/MockServerCreationUtilities.java @@ -97,16 +97,22 @@ public class MockServerCreationUtilities extends Assert { public static final String TEST_SERVER_TYPE_EAP_65 = "TEST_SERVER_TYPE_EAP_65"; public static final String TEST_SERVER_TYPE_WONKA_1 = "TEST_SERVER_TYPE_WONKA_1_MISMATCH"; - - - public static final String[] TEST_SERVER_TYPES_TO_MOCK = new String[] { - TEST_SERVER_TYPE_GATEIN_34, + + public static final String TEST_SERVER_TYPE_WILDFLY_390 = "TEST_SERVER_TYPE_WILDFLY_390"; + public static final String TEST_SERVER_TYPE_WILDFLY_400 = "TEST_SERVER_TYPE_WILDFLY_400"; + public static final String TEST_SERVER_TYPE_WILDFLY_410 = "TEST_SERVER_TYPE_WILDFLY_410"; + + public static final String[] TEST_SERVER_TYPES_TO_MOCK = new String[] { + TEST_SERVER_TYPE_GATEIN_34, TEST_SERVER_TYPE_GATEIN_35, TEST_SERVER_TYPE_GATEIN_36, TEST_SERVER_TYPE_JPP_60, TEST_SERVER_TYPE_JPP_61, TEST_SERVER_TYPE_EAP_65, - TEST_SERVER_TYPE_WONKA_1 + TEST_SERVER_TYPE_WONKA_1, + TEST_SERVER_TYPE_WILDFLY_390, + TEST_SERVER_TYPE_WILDFLY_400, + TEST_SERVER_TYPE_WILDFLY_410 }; static { @@ -153,6 +159,9 @@ public class MockServerCreationUtilities extends Assert { asSystemJar.put(TEST_SERVER_TYPE_JPP_61, jpp_server_6_1_jar); asSystemJar.put(TEST_SERVER_TYPE_WONKA_1, eap_server_6_1_jar); asSystemJar.put(TEST_SERVER_TYPE_GATEIN_34, gatein_3_4_0_jar); + asSystemJar.put(TEST_SERVER_TYPE_WILDFLY_390, wildfly_20_0_jar); + asSystemJar.put(TEST_SERVER_TYPE_WILDFLY_400, wildfly_20_0_jar); + asSystemJar.put(TEST_SERVER_TYPE_WILDFLY_410, wildfly_20_0_jar); // NEW_SERVER_ADAPTER Add the new runtime constant above this line } @@ -282,6 +291,12 @@ public static File createMockServerLayout(String serverType) { serverDir = createAS72EAP65StyleMockServerDirectory(name, serverType, asSystemJar.get(serverType)); } else if (TEST_SERVER_TYPE_WONKA_1.equals(serverType)) { serverDir = createAS72Wonka1MockServerDirectory(name, serverType, asSystemJar.get(serverType)); + } else if (TEST_SERVER_TYPE_WILDFLY_390.equals(serverType)) { + serverDir = createWildfly390MockServerDirectory(name, serverType, asSystemJar.get(serverType)); + } else if (TEST_SERVER_TYPE_WILDFLY_400.equals(serverType)) { + serverDir = createWildfly400MockServerDirectory(name, serverType, asSystemJar.get(serverType)); + } else if (TEST_SERVER_TYPE_WILDFLY_410.equals(serverType)) { + serverDir = createWildfly410MockServerDirectory(name, serverType, asSystemJar.get(serverType)); } // NEW_SERVER_ADAPTER add mock folder structure above return serverDir; @@ -445,6 +460,18 @@ private static File createWildfly380MockServerDirectory(String name, String serv return createWildflyServerDirectory(name, serverTypeId, serverJar, "main", "JBoss-Product-Release-Name: WildFly Full\nJBoss-Product-Release-Version: 38.0.0.Final\n"); } + private static File createWildfly390MockServerDirectory(String name, String serverTypeId, String serverJar) { + return createWildflyServerDirectory(name, serverTypeId, serverJar, "main", + "JBoss-Product-Release-Name: WildFly Full\nJBoss-Product-Release-Version: 39.0.1.Final\n"); + } + private static File createWildfly400MockServerDirectory(String name, String serverTypeId, String serverJar) { + return createWildflyServerDirectory(name, serverTypeId, serverJar, "main", + "JBoss-Product-Release-Name: WildFly Full\nJBoss-Product-Release-Version: 40.0.1.Final\n"); + } + private static File createWildfly410MockServerDirectory(String name, String serverTypeId, String serverJar) { + return createWildflyServerDirectory(name, serverTypeId, serverJar, "main", + "JBoss-Product-Release-Name: WildFly Full\nJBoss-Product-Release-Version: 41.0.0.Final\n"); + } private static File createWildflyServerDirectory(String name, String serverTypeId, String serverJar, String manString) { return createWildflyServerDirectory(name, serverTypeId, serverJar, "wildfly-full", manString); From b26a70bc6fc1400a9aa45a635413e5ccd5a7c4d9 Mon Sep 17 00:00:00 2001 From: Rob Stryker Date: Thu, 6 Aug 2026 16:27:43 -0400 Subject: [PATCH 2/6] Add WildFly 35/38 cases to RSPServerUtility.getServerType() The switch statement was missing cases for SERVER_WILDFLY_350 and SERVER_WILDFLY_380, causing integration tests to fall through to the WF 12 default and fail ServerHandle equality checks. Co-Authored-By: Claude Opus 4.6 --- .../org/jboss/tools/rsp/itests/util/RSPServerUtility.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/distribution/integration-tests/src/test/java/org/jboss/tools/rsp/itests/util/RSPServerUtility.java b/distribution/integration-tests/src/test/java/org/jboss/tools/rsp/itests/util/RSPServerUtility.java index fc5bf0857..2ea5753d2 100644 --- a/distribution/integration-tests/src/test/java/org/jboss/tools/rsp/itests/util/RSPServerUtility.java +++ b/distribution/integration-tests/src/test/java/org/jboss/tools/rsp/itests/util/RSPServerUtility.java @@ -50,6 +50,10 @@ public static ServerType getServerType(String serverID) { return createServerType(serverID, ServerTypeStringConstants.WF24_NAME, ServerTypeStringConstants.WF24_DESC); case IServerConstants.SERVER_WILDFLY_270: return createServerType(serverID, ServerTypeStringConstants.WF27_NAME, ServerTypeStringConstants.WF27_DESC); + case IServerConstants.SERVER_WILDFLY_350: + return createServerType(serverID, ServerTypeStringConstants.WF35_NAME, ServerTypeStringConstants.WF35_DESC); + case IServerConstants.SERVER_WILDFLY_380: + return createServerType(serverID, ServerTypeStringConstants.WF38_NAME, ServerTypeStringConstants.WF38_DESC); default: return createServerType(IServerConstants.SERVER_WILDFLY_120, ServerTypeStringConstants.WF12_NAME, ServerTypeStringConstants.WF12_DESC); } From 5e5de048c506ebfa4efe3777f32553298cdc6c45 Mon Sep 17 00:00:00 2001 From: Rob Stryker Date: Thu, 6 Aug 2026 16:39:03 -0400 Subject: [PATCH 3/6] Update download runtime test to target WildFly 38.0.1 Also fix getRuntimeById() which ignored its id parameter and always filtered for the hardcoded WF 18 runtime id. Co-Authored-By: Claude Opus 4.6 --- .../rsp/itests/wildfly/WildflyDownloadRuntimesTest.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/distribution/integration-tests/src/test/java/org/jboss/tools/rsp/itests/wildfly/WildflyDownloadRuntimesTest.java b/distribution/integration-tests/src/test/java/org/jboss/tools/rsp/itests/wildfly/WildflyDownloadRuntimesTest.java index 3c6950c7f..872ff0512 100644 --- a/distribution/integration-tests/src/test/java/org/jboss/tools/rsp/itests/wildfly/WildflyDownloadRuntimesTest.java +++ b/distribution/integration-tests/src/test/java/org/jboss/tools/rsp/itests/wildfly/WildflyDownloadRuntimesTest.java @@ -35,8 +35,8 @@ import org.junit.Test; public class WildflyDownloadRuntimesTest extends RSPCase { - private static final String WILDFLY_RUNTIME_ID = "wildfly-1801finalruntime"; - private static final String WILDFLY_DOWNLOADED_ID = "wildfly-18.0.1.Final"; + private static final String WILDFLY_RUNTIME_ID = "wildfly-3801finalruntime"; + private static final String WILDFLY_DOWNLOADED_ID = "wildfly-38.0.1.Final"; private static final String DOWNLOAD_REQUEST_EMPTY = "Unable to find an executor for the given download runtime"; private static final String INFO_REQUIRED_MESSAGE = "Please fill the requried information"; @@ -65,7 +65,7 @@ public void testElementFromDownloadableRuntimes() throws InterruptedException, E assertNotNull(response); List runtimes = response.getRuntimes(); DownloadRuntimeDescription rtm = getRuntimeById(runtimes, WILDFLY_RUNTIME_ID); - assertTrue(rtm.getName().contains("WildFly 18.0.1 Final")); + assertTrue(rtm.getName().contains("WildFly 38.0.1 Final")); assertTrue(rtm.getHumanUrl().contains("http")); assertTrue(rtm.getSize().equals("?")); } @@ -148,6 +148,6 @@ public boolean test() { } private DownloadRuntimeDescription getRuntimeById(List runtimes, String id) { - return runtimes.stream().filter(runtime -> runtime.getId().equals("wildfly-1801finalruntime")).findAny().orElse(null); + return runtimes.stream().filter(runtime -> runtime.getId().equals(id)).findAny().orElse(null); } } From c85916a3e853bf87dba5dfb7a432dddb0e2d3eff Mon Sep 17 00:00:00 2001 From: Rob Stryker Date: Thu, 6 Aug 2026 16:58:58 -0400 Subject: [PATCH 4/6] Update default integration test target to WildFly 38.0.1 Co-Authored-By: Claude Opus 4.6 --- distribution/integration-tests/pom.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/distribution/integration-tests/pom.xml b/distribution/integration-tests/pom.xml index a2bc536f4..c8fa86e64 100644 --- a/distribution/integration-tests/pom.xml +++ b/distribution/integration-tests/pom.xml @@ -15,18 +15,18 @@ true - install-wildfly-30.0.1.Final - https://github.com/wildfly/wildfly/releases/download/30.0.1.Final/wildfly-30.0.1.Final.zip - cd9c13350d775abcc728259b24b8bfabdf2b90a3 - org.jboss.ide.eclipse.as.wildfly.270 - 30.0.1.Final + install-wildfly-38.0.1.Final + https://github.com/wildfly/wildfly/releases/download/38.0.1.Final/wildfly-38.0.1.Final.zip + c684d79e60de3222924a4ca5fecf2e21daa4e3ab + org.jboss.ide.eclipse.as.wildfly.380 + 38.0.1.Final ${project.build.directory}/wildfly-${server.version} target/site/jacoco-aggregate/jacoco.xml wildfly - https://github.com/wildfly/quickstart/archive/30.0.1.Final.zip - quickstart-30.0.1.Final + https://github.com/wildfly/quickstart/archive/38.0.1.Final.zip + quickstart-38.0.1.Final Runtime Server Protocol : Integration Tests From 72ac6a9ee5b1605bfc4fec99a3877fef05db8cb9 Mon Sep 17 00:00:00 2001 From: Rob Stryker Date: Fri, 7 Aug 2026 14:00:45 -0400 Subject: [PATCH 5/6] Fix integration test CI: upgrade invoker plugin and add Java 17 for quickstarts WF 38 quickstarts require Java 17 to compile, but CI runs Java 11. Configure maven-invoker-plugin with a javaHome property so the quickstart builds can use a different JDK. Upgrade the plugin from 3.2.0 to 3.8.1 to fix compatibility with Maven 3.9.x. Update the CI workflow to set up Java 17 alongside Java 11 and pass -Dinvoker.javaHome to the build. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/gh-actions.yml | 12 ++++++++---- distribution/integration-tests/pom.xml | 4 +++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/.github/workflows/gh-actions.yml b/.github/workflows/gh-actions.yml index 4800fe32d..a043068d9 100644 --- a/.github/workflows/gh-actions.yml +++ b/.github/workflows/gh-actions.yml @@ -22,11 +22,15 @@ jobs: steps: - uses: actions/checkout@v2 + - name: Setup Java 17 for quickstarts + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' - name: Setup Java ${{ matrix.java }} - uses: actions/setup-java@v1 + uses: actions/setup-java@v4 with: java-version: ${{ matrix.java }} - java-package: jdk # (jre, jdk, or jdk+fx) - defaults to jdk - architecture: x64 + distribution: 'temurin' - name: Build & Verify using Maven - run: mvn clean verify -Pintegration-tests -U -fae -e -B + run: mvn clean verify -Pintegration-tests -Dinvoker.javaHome=$JAVA_HOME_17_X64 -U -fae -e -B diff --git a/distribution/integration-tests/pom.xml b/distribution/integration-tests/pom.xml index c8fa86e64..6ddf51dd1 100644 --- a/distribution/integration-tests/pom.xml +++ b/distribution/integration-tests/pom.xml @@ -27,6 +27,7 @@ wildfly https://github.com/wildfly/quickstart/archive/38.0.1.Final.zip quickstart-38.0.1.Final + ${java.home} Runtime Server Protocol : Integration Tests @@ -122,11 +123,12 @@ maven-invoker-plugin - 3.2.0 + 3.8.1 ${project.build.directory}/quickstarts target/${quickstarts.dir}/ true + ${invoker.javaHome} kitchensink/pom.xml helloworld/pom.xml From 4516d3d7f500fadfc6a410c0ae8994420b8385fc Mon Sep 17 00:00:00 2001 From: Rob Stryker Date: Fri, 7 Aug 2026 16:23:15 -0400 Subject: [PATCH 6/6] Pass vm.install.path to integration tests for WF 38+ on Java 11 WF 38 requires Java 17+ to run, but the RSP server and CI build use Java 11. Add a server.vm.install.path property that the tests pass as vm.install.path when creating and starting servers, so the RSP launches WildFly with a different JDK than its own. CI sets this to $JAVA_HOME_17_X64. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/gh-actions.yml | 2 +- distribution/integration-tests/pom.xml | 2 ++ .../org/jboss/tools/rsp/itests/RSPCase.java | 8 +++++++ .../itests/wildfly/WildFlyLaunchingTest.java | 21 +++++++++++++------ 4 files changed, 26 insertions(+), 7 deletions(-) diff --git a/.github/workflows/gh-actions.yml b/.github/workflows/gh-actions.yml index a043068d9..e49d72852 100644 --- a/.github/workflows/gh-actions.yml +++ b/.github/workflows/gh-actions.yml @@ -33,4 +33,4 @@ jobs: java-version: ${{ matrix.java }} distribution: 'temurin' - name: Build & Verify using Maven - run: mvn clean verify -Pintegration-tests -Dinvoker.javaHome=$JAVA_HOME_17_X64 -U -fae -e -B + run: mvn clean verify -Pintegration-tests -Dinvoker.javaHome=$JAVA_HOME_17_X64 -Dserver.vm.install.path=$JAVA_HOME_17_X64 -U -fae -e -B diff --git a/distribution/integration-tests/pom.xml b/distribution/integration-tests/pom.xml index 6ddf51dd1..f58c910de 100644 --- a/distribution/integration-tests/pom.xml +++ b/distribution/integration-tests/pom.xml @@ -28,6 +28,7 @@ https://github.com/wildfly/quickstart/archive/38.0.1.Final.zip quickstart-38.0.1.Final ${java.home} + Runtime Server Protocol : Integration Tests @@ -45,6 +46,7 @@ ${server.version} ${server.path} ${quickstarts.server} + ${server.vm.install.path} diff --git a/distribution/integration-tests/src/test/java/org/jboss/tools/rsp/itests/RSPCase.java b/distribution/integration-tests/src/test/java/org/jboss/tools/rsp/itests/RSPCase.java index 03f7382c3..529c6e89d 100644 --- a/distribution/integration-tests/src/test/java/org/jboss/tools/rsp/itests/RSPCase.java +++ b/distribution/integration-tests/src/test/java/org/jboss/tools/rsp/itests/RSPCase.java @@ -55,6 +55,7 @@ public abstract class RSPCase { protected static String WILDFLY_PATH; protected static String WILDFLY_VERSION; protected static String WILDFLY_ROOT; + protected static String VM_INSTALL_PATH; protected static ServerType wildflyType; protected static final String INVALID_PARAM = "Parameter is invalid. It may be null, missing required fields, or unacceptable values."; protected static final String MISSING_SERVER_ID = "Invalid Request: Request must include server id."; @@ -78,6 +79,7 @@ public static void initializeProperties() { WILDFLY_PATH = getProperty("server.path"); WILDFLY_VERSION = getProperty("server.version"); WILDFLY_ROOT = Paths.get(WILDFLY_PATH).toAbsolutePath().toString(); + VM_INSTALL_PATH = System.getProperty("server.vm.install.path"); wildflyType = RSPServerUtility.getServerType(WILDFLY_SERVER_ID); } @@ -159,6 +161,9 @@ public static void dispose() throws Exception { protected void startServer(DummyClient client, String id) throws Exception { Map attr = new HashMap<>(); attr.put("server.home.dir", WILDFLY_ROOT); + if (VM_INSTALL_PATH != null && !VM_INSTALL_PATH.isEmpty()) { + attr.put("vm.install.path", VM_INSTALL_PATH); + } LaunchParameters params = new LaunchParameters(new ServerAttributes(wildflyType.getId(), id, attr), MODE_RUN); StartServerResponse response = timeConsumption(new Callable() { @@ -198,6 +203,9 @@ protected Status createServer(String location, String id) throws Exception { Map attr = new HashMap<>(); attr.put("server.home.dir", bean.getLocation()); attr.put("server.autopublish.inactivity.limit", 5000); + if (VM_INSTALL_PATH != null && !VM_INSTALL_PATH.isEmpty()) { + attr.put("vm.install.path", VM_INSTALL_PATH); + } ServerAttributes serverAttr = new ServerAttributes(bean.getServerAdapterTypeId(), id, attr); return timeConsumption(new Callable() { public Status call() throws InterruptedException, ExecutionException, TimeoutException { diff --git a/distribution/integration-tests/src/test/java/org/jboss/tools/rsp/itests/wildfly/WildFlyLaunchingTest.java b/distribution/integration-tests/src/test/java/org/jboss/tools/rsp/itests/wildfly/WildFlyLaunchingTest.java index e2e40b252..360763dcb 100644 --- a/distribution/integration-tests/src/test/java/org/jboss/tools/rsp/itests/wildfly/WildFlyLaunchingTest.java +++ b/distribution/integration-tests/src/test/java/org/jboss/tools/rsp/itests/wildfly/WildFlyLaunchingTest.java @@ -233,15 +233,18 @@ public void testStartServer() throws Exception { createServer(WILDFLY_ROOT, "wildfly3"); Map attr = new HashMap<>(); attr.put("server.home.dir", WILDFLY_ROOT); + if (VM_INSTALL_PATH != null && !VM_INSTALL_PATH.isEmpty()) { + attr.put("vm.install.path", VM_INSTALL_PATH); + } LaunchParameters params = new LaunchParameters( new ServerAttributes(wildflyType.getId(), "wildfly3", attr), MODE_RUN); - + StartServerResponse response = serverProxy.startServerAsync(params).get(SERVER_OPERATION_TIMEOUT, TimeUnit.MILLISECONDS); - + assertEquals(0, response.getStatus().getSeverity()); assertEquals(STATUS_MESSAGE_OK, response.getStatus().getMessage()); waitForServerState(ServerManagementAPIConstants.STATE_STARTED, 10, client); - + serverProxy.stopServerAsync(new StopServerAttributes("wildfly3", true)).get(); waitForServerState(ServerManagementAPIConstants.STATE_STOPPED, 10, client); } @@ -252,15 +255,18 @@ public void testStartServerTwice() throws Exception { Map attr = new HashMap<>(); attr.put("server.home.dir", WILDFLY_ROOT); + if (VM_INSTALL_PATH != null && !VM_INSTALL_PATH.isEmpty()) { + attr.put("vm.install.path", VM_INSTALL_PATH); + } LaunchParameters params = new LaunchParameters( new ServerAttributes(wildflyType.getId(), "wildfly4", attr), MODE_RUN); - + serverProxy.startServerAsync(params).get(SERVER_OPERATION_TIMEOUT, TimeUnit.MILLISECONDS); waitForServerState(ServerManagementAPIConstants.STATE_STARTED, 10, client); StartServerResponse response = serverProxy.startServerAsync(params).get(SERVER_OPERATION_TIMEOUT, TimeUnit.MILLISECONDS); - + assertEquals(Status.CANCEL, response.getStatus().getSeverity()); - + serverProxy.stopServerAsync(new StopServerAttributes("wildfly4", true)).get(SERVER_OPERATION_TIMEOUT, TimeUnit.MILLISECONDS); waitForServerState(ServerManagementAPIConstants.STATE_STOPPED, 10, client); } @@ -271,6 +277,9 @@ public void testStopServer() throws Exception { assertEquals(Status.OK, status.getSeverity()); Map attr = new HashMap<>(); attr.put("server.home.dir", WILDFLY_ROOT); + if (VM_INSTALL_PATH != null && !VM_INSTALL_PATH.isEmpty()) { + attr.put("vm.install.path", VM_INSTALL_PATH); + } LaunchParameters params = new LaunchParameters( new ServerAttributes(wildflyType.getId(), "wildfly5", attr), MODE_RUN);