summaryrefslogtreecommitdiffstats
path: root/vespa-testrunner-components
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2019-08-14 15:57:07 +0200
committerJon Marius Venstad <venstad@gmail.com>2019-08-14 15:57:07 +0200
commit6f0d45b07ffb0210aaaa7ea1d2098d58323338d7 (patch)
tree0824383665f568cc35e8fc830c4fe653ad2c12ce /vespa-testrunner-components
parentd23d8e91bb6a34c3327c32746c3466f241e18542 (diff)
Set test credentials root only when it has credentials
Diffstat (limited to 'vespa-testrunner-components')
-rw-r--r--vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestRunner.java52
-rw-r--r--vespa-testrunner-components/src/main/resources/configdefinitions/test-runner.def5
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