diff options
Diffstat (limited to 'vespa-testrunner-components')
-rw-r--r-- | vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestRunner.java | 52 | ||||
-rw-r--r-- | vespa-testrunner-components/src/main/resources/configdefinitions/test-runner.def | 5 |
2 files changed, 31 insertions, 26 deletions
diff --git a/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestRunner.java b/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestRunner.java index fb5dccc551d..a14c1e2a231 100644 --- a/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestRunner.java +++ b/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestRunner.java @@ -16,6 +16,7 @@ import java.io.UncheckedIOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.SortedMap; @@ -68,30 +69,7 @@ public class TestRunner { vespaHome.resolve("logs/vespa/maven.log"), vespaHome.resolve("tmp/config.json"), vespaHome.resolve("tmp/settings.xml"), - profile -> { // Anything to make this testable! >_< - String[] command = new String[]{ - "mvn", - "test", - - "--batch-mode", // Run in non-interactive (batch) mode (disables output color) - "--show-version", // Display version information WITHOUT stopping build - "--settings", // Need to override repository settings in ymaven config >_< - vespaHome.resolve("tmp/settings.xml").toString(), - - // Disable maven download progress indication - "-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn", - "-Dstyle.color=always", // Enable ANSI color codes again - "-DfailIfNoTests=" + profile.failIfNoTests(), - "-Dvespa.test.config=" + vespaHome.resolve("tmp/config.json"), - "-Dvespa.test.credentials.root=" + Defaults.getDefaults().vespaHome() + "/var/vespa/sia", - String.format("-DargLine=-Xms%1$dm -Xmx%1$dm", config.surefireMemoryMb()) - }; - ProcessBuilder builder = new ProcessBuilder(command); - builder.environment().merge("MAVEN_OPTS", " -Djansi.force=true", String::concat); - builder.directory(vespaHome.resolve("tmp/test").toFile()); - builder.redirectErrorStream(true); - return builder; - }); + profile -> mavenProcessFrom(profile, config)); } TestRunner(Path artifactsPath, Path testPath, Path logFile, Path configFile, Path settingsFile, Function<TestProfile, ProcessBuilder> testBuilder) { @@ -103,6 +81,32 @@ public class TestRunner { this.testBuilder = testBuilder; } + static ProcessBuilder mavenProcessFrom(TestProfile profile, TestRunnerConfig config) { + List<String> command = new ArrayList<>(); + command.add("mvn"); + command.add("test"); + + command.add("--batch-mode"); // Run in non-interactive (batch) mode (disables output color) + command.add("--show-version"); // Display version information WITHOUT stopping build + command.add("--settings"); // Need to override repository settings in ymaven config >_< + command.add(vespaHome.resolve("tmp/settings.xml").toString()); + + // Disable maven download progress indication + command.add("-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"); + command.add("-Dstyle.color=always"); // Enable ANSI color codes again + command.add("-DfailIfNoTests=" + profile.failIfNoTests()); + command.add("-Dvespa.test.config=" + vespaHome.resolve("tmp/config.json")); + if (config.useAthenzCredentials()) + command.add("-Dvespa.test.credentials.root=" + Defaults.getDefaults().vespaHome() + "/var/vespa/sia"); + command.add(String.format("-DargLine=-Xms%1$dm -Xmx%1$dm", config.surefireMemoryMb())); + + ProcessBuilder builder = new ProcessBuilder(command); + builder.environment().merge("MAVEN_OPTS", " -Djansi.force=true", String::concat); + builder.directory(vespaHome.resolve("tmp/test").toFile()); + builder.redirectErrorStream(true); + return builder; + } + public synchronized void test(TestProfile testProfile, byte[] testConfig) { if (status == Status.RUNNING) throw new IllegalArgumentException("Tests are already running; should not receive this request now."); diff --git a/vespa-testrunner-components/src/main/resources/configdefinitions/test-runner.def b/vespa-testrunner-components/src/main/resources/configdefinitions/test-runner.def index a2d0eacd9be..91a8a2057e7 100644 --- a/vespa-testrunner-components/src/main/resources/configdefinitions/test-runner.def +++ b/vespa-testrunner-components/src/main/resources/configdefinitions/test-runner.def @@ -1,4 +1,5 @@ package=com.yahoo.vespa.hosted.testrunner -artifactsPath path -surefireMemoryMb int +artifactsPath path +surefireMemoryMb int +useAthenzCredentials bool |