diff options
author | Jon Marius Venstad <jonmv@users.noreply.github.com> | 2022-02-22 16:47:11 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-22 16:47:11 +0100 |
commit | 6f4296e7a35bab2996f5636f355c3051926fb37b (patch) | |
tree | e46df07729dd1a9d6cab7d6b6a6a0a3c2d3c391d /controller-server/src/main/java/com/yahoo | |
parent | 3b5b6897bf8821c8dd83c72d47b72652d9687ef2 (diff) | |
parent | 5d606e1287e754b427cca21c6e5565cb78a36ba0 (diff) |
Merge pull request #21314 from vespa-engine/jonmv/long-deployment-pipelines-2
Add NO_TESTS status to simplify detecting that no tests are available
Diffstat (limited to 'controller-server/src/main/java/com/yahoo')
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java index 3f83200bb86..e4987c64b2b 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java @@ -153,8 +153,8 @@ public class InternalStepRunner implements StepRunner { case installTester: return installTester(id, logger); case installReal: return installReal(id, logger); case startStagingSetup: return startTests(id, true, logger); - case endStagingSetup: - case endTests: return endTests(id, logger); + case endStagingSetup: return endTests(id, true, logger); + case endTests: return endTests(id, false, logger); case startTests: return startTests(id, false, logger); case copyVespaLogs: return copyVespaLogs(id, logger); case deactivateReal: return deactivateReal(id, logger); @@ -634,7 +634,7 @@ public class InternalStepRunner implements StepRunner { return Optional.of(running); } - private Optional<RunStatus> endTests(RunId id, DualLogger logger) { + private Optional<RunStatus> endTests(RunId id, boolean isSetup, DualLogger logger) { Optional<Deployment> deployment = deployment(id.application(), id.type()); if (deployment.isEmpty()) { logger.log(INFO, "Deployment expired before tests could complete."); @@ -673,6 +673,13 @@ public class InternalStepRunner implements StepRunner { logger.log(INFO, "Tester failed running its tests!"); controller.jobController().updateTestReport(id); return Optional.of(error); + case NO_TESTS: + TesterCloud.Suite suite = TesterCloud.Suite.of(id.type(), isSetup); + logger.log(INFO, "No tests were found in the test package, for test suite '" + suite + "'"); + logger.log(INFO, "The test package must either contain basic HTTP tests under 'tests/<suite-name>/', " + + "or a Java test bundle under 'components/' with at least one test with the annotation " + + "for this suite. See docs.vespa.ai/en/testing.html for details."); + return Optional.of(testFailure); case SUCCESS: logger.log("Tests completed successfully."); controller.jobController().updateTestReport(id); |