summaryrefslogtreecommitdiffstats
path: root/vespa-osgi-testrunner
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2022-02-02 15:41:14 +0100
committerJon Marius Venstad <venstad@gmail.com>2022-02-02 15:41:14 +0100
commitd4664b7e613f3a6a8c4bdfcd104a7a1ac5e90dda (patch)
tree28d5fba3ed5c221f11df3882b32843dbcd1ed4fd /vespa-osgi-testrunner
parentfe37932e6418d3d7a8bbea2f4ca5f727b67e8d00 (diff)
No basic HTTP tests is a test failure, not a framework error
Diffstat (limited to 'vespa-osgi-testrunner')
-rw-r--r--vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/VespaCliTestRunner.java12
-rw-r--r--vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/VespaCliTestRunnerTest.java5
2 files changed, 14 insertions, 3 deletions
diff --git a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/VespaCliTestRunner.java b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/VespaCliTestRunner.java
index f131292597c..3cccafb4a8b 100644
--- a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/VespaCliTestRunner.java
+++ b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/VespaCliTestRunner.java
@@ -90,6 +90,10 @@ public class VespaCliTestRunner implements TestRunner {
in.lines().forEach(line -> log(htmlLogger.toLog(line)));
status.set(process.waitFor() == 0 ? SUCCESS : process.waitFor() == 3 ? FAILURE : ERROR);
}
+ catch (NoTestsException e) {
+ log(Level.WARNING, "Did not find expected basic HTTP tests", e);
+ status.set(FAILURE);
+ }
catch (Exception e) {
if (process != null)
process.destroyForcibly();
@@ -109,7 +113,7 @@ public class VespaCliTestRunner implements TestRunner {
ProcessBuilder testRunProcessBuilder(Suite suite, TestConfig config) throws IOException {
Path suitePath = getChildDirectory(testsPath, toSuiteDirectoryName(suite))
- .orElseThrow(() -> new IllegalStateException("No tests found, for suite '" + suite + "'"));
+ .orElseThrow(() -> new NoTestsException("No tests found, for suite '" + suite + "'"));
ProcessBuilder builder = new ProcessBuilder("vespa", "test", suitePath.toAbsolutePath().toString(),
"--application", config.application().toFullString(),
@@ -166,4 +170,10 @@ public class VespaCliTestRunner implements TestRunner {
return new String(SlimeUtils.toJsonBytes(root), UTF_8);
}
+ static class NoTestsException extends RuntimeException {
+
+ private NoTestsException(String message) { super(message); }
+
+ }
+
}
diff --git a/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/VespaCliTestRunnerTest.java b/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/VespaCliTestRunnerTest.java
index 9ba8dfdc4dc..46d7b78cdea 100644
--- a/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/VespaCliTestRunnerTest.java
+++ b/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/VespaCliTestRunnerTest.java
@@ -2,6 +2,7 @@
package com.yahoo.vespa.testrunner;
import ai.vespa.hosted.api.TestConfig;
+import com.yahoo.vespa.testrunner.VespaCliTestRunner.NoTestsException;
import org.junit.jupiter.api.Test;
import java.io.IOException;
@@ -51,8 +52,8 @@ class VespaCliTestRunnerTest {
Path systemTests = Files.createDirectory(tests.resolve("system-test"));
assertTrue(runner.isSupported());
- IllegalStateException ise = assertThrows(IllegalStateException.class,
- () -> runner.testRunProcessBuilder(TestRunner.Suite.STAGING_TEST, testConfig));
+ NoTestsException ise = assertThrows(NoTestsException.class,
+ () -> runner.testRunProcessBuilder(TestRunner.Suite.STAGING_TEST, testConfig));
assertEquals("No tests found, for suite 'STAGING_TEST'", ise.getMessage());
ProcessBuilder builder = runner.testRunProcessBuilder(TestRunner.Suite.SYSTEM_TEST, testConfig);