diff --git a/test-framework/common/src/main/java/io/quarkus/test/common/JarLauncher.java b/test-framework/common/src/main/java/io/quarkus/test/common/JarLauncher.java index 76d81536c50db..abed049155679 100644 --- a/test-framework/common/src/main/java/io/quarkus/test/common/JarLauncher.java +++ b/test-framework/common/src/main/java/io/quarkus/test/common/JarLauncher.java @@ -26,6 +26,7 @@ public class JarLauncher implements ArtifactLauncher { private final Path jarPath; private final String profile; + private final String argLine; private Process quarkusProcess; private final int httpPort; private final int httpsPort; @@ -39,6 +40,7 @@ private JarLauncher(Path jarPath, Config config) { config.getValue("quarkus.http.test-port", OptionalInt.class).orElse(DEFAULT_PORT), config.getValue("quarkus.http.test-ssl-port", OptionalInt.class).orElse(DEFAULT_HTTPS_PORT), config.getValue("quarkus.test.jar-wait-time", OptionalLong.class).orElse(DEFAULT_JAR_WAIT_TIME), + config.getOptionalValue("quarkus.test.argLine", String.class).orElse(null), config.getOptionalValue("quarkus.test.native-image-profile", String.class) .orElse(null)); } @@ -47,11 +49,12 @@ public JarLauncher(Path jarPath) { this(jarPath, installAndGetSomeConfig()); } - public JarLauncher(Path jarPath, int httpPort, int httpsPort, long jarWaitTime, String profile) { + public JarLauncher(Path jarPath, int httpPort, int httpsPort, long jarWaitTime, String argLine, String profile) { this.jarPath = jarPath; this.httpPort = httpPort; this.httpsPort = httpsPort; this.jarWaitTime = jarWaitTime; + this.argLine = argLine; this.profile = profile; } @@ -61,6 +64,9 @@ public void start() throws IOException { List args = new ArrayList<>(); args.add("java"); + if (argLine != null) { + args.add(argLine); + } args.add("-Dquarkus.http.port=" + httpPort); args.add("-Dquarkus.http.ssl-port=" + httpsPort); // this won't be correct when using the random port but it's really only used by us for the rest client tests