diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2022-02-02 15:41:14 +0100 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2022-02-02 15:41:14 +0100 |
commit | d4664b7e613f3a6a8c4bdfcd104a7a1ac5e90dda (patch) | |
tree | 28d5fba3ed5c221f11df3882b32843dbcd1ed4fd /vespa-osgi-testrunner | |
parent | fe37932e6418d3d7a8bbea2f4ca5f727b67e8d00 (diff) |
No basic HTTP tests is a test failure, not a framework error
Diffstat (limited to 'vespa-osgi-testrunner')
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); |