diff options
-rw-r--r-- | vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/TestRunnerHandler.java | 14 | ||||
-rw-r--r-- | vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/legacy/LegacyTestRunner.java | 6 | ||||
-rw-r--r-- | vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/PomXmlGenerator.java | 1 | ||||
-rw-r--r-- | vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestProfile.java (renamed from vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/legacy/TestProfile.java) | 2 | ||||
-rw-r--r-- | vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestRunner.java | 15 | ||||
-rw-r--r-- | vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestRunnerHandler.java | 6 | ||||
-rw-r--r-- | vespa-testrunner-components/src/test/java/com/yahoo/vespa/hosted/testrunner/PomXmlGeneratorTest.java | 1 | ||||
-rw-r--r-- | vespa-testrunner-components/src/test/java/com/yahoo/vespa/hosted/testrunner/TestRunnerTest.java | 18 |
8 files changed, 35 insertions, 28 deletions
diff --git a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/TestRunnerHandler.java b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/TestRunnerHandler.java index a0437f14c98..5c7bb1ccbd3 100644 --- a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/TestRunnerHandler.java +++ b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/TestRunnerHandler.java @@ -13,24 +13,18 @@ import com.yahoo.exception.ExceptionUtils; import com.yahoo.slime.Cursor; import com.yahoo.slime.JsonFormat; import com.yahoo.slime.Slime; -import com.yahoo.slime.SlimeUtils; import com.yahoo.vespa.testrunner.legacy.LegacyTestRunner; -import com.yahoo.vespa.testrunner.legacy.TestProfile; import com.yahoo.yolean.Exceptions; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.PrintStream; -import java.nio.charset.StandardCharsets; import java.util.Collection; -import java.util.Collections; -import java.util.List; import java.util.Optional; import java.util.concurrent.Executor; import java.util.logging.Level; import java.util.logging.LogRecord; -import java.util.stream.Collectors; import static com.yahoo.jdisc.Response.Status; @@ -105,14 +99,14 @@ public class TestRunnerHandler extends LoggingRequestHandler { final String path = request.getUri().getPath(); if (path.startsWith("/tester/v1/run/")) { String type = lastElement(path); - TestProfile testProfile = TestProfile.valueOf(type.toUpperCase() + "_TEST"); + LegacyTestRunner.Suite testSuite = LegacyTestRunner.Suite.valueOf(type.toUpperCase() + "_TEST"); byte[] config = request.getData().readAllBytes(); if (useOsgiMode) { - junitRunner.executeTests(categoryFromProfile(testProfile), config); + junitRunner.executeTests(categoryFromProfile(testSuite), config); log.info("Started tests of type " + type + " and status is " + junitRunner.getStatus()); return new Response("Successfully started " + type + " tests"); } else { - testRunner.test(testProfile, config); + testRunner.test(testSuite, config); log.info("Started tests of type " + type + " and status is " + testRunner.getStatus()); return new Response("Successfully started " + type + " tests"); } @@ -120,7 +114,7 @@ public class TestRunnerHandler extends LoggingRequestHandler { return new Response(Status.NOT_FOUND, "Not found: " + request.getUri().getPath()); } - TestDescriptor.TestCategory categoryFromProfile(TestProfile testProfile) { + TestDescriptor.TestCategory categoryFromProfile(LegacyTestRunner.Suite testProfile) { switch(testProfile) { case SYSTEM_TEST: return TestDescriptor.TestCategory.systemtest; case STAGING_SETUP_TEST: return TestDescriptor.TestCategory.stagingsetuptest; diff --git a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/legacy/LegacyTestRunner.java b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/legacy/LegacyTestRunner.java index 80122302d2c..fc25f7de6e5 100644 --- a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/legacy/LegacyTestRunner.java +++ b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/legacy/LegacyTestRunner.java @@ -13,10 +13,14 @@ public interface LegacyTestRunner { Status getStatus(); - void test(TestProfile testProfile, byte[] config); + void test(Suite suite, byte[] config); enum Status { NOT_STARTED, RUNNING, FAILURE, ERROR, SUCCESS } + enum Suite { + SYSTEM_TEST, STAGING_SETUP_TEST, STAGING_TEST, PRODUCTION_TEST + } + }
\ No newline at end of file diff --git a/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/PomXmlGenerator.java b/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/PomXmlGenerator.java index b3c49fc6f2d..ff66b31dfa8 100644 --- a/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/PomXmlGenerator.java +++ b/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/PomXmlGenerator.java @@ -2,7 +2,6 @@ package com.yahoo.vespa.hosted.testrunner; import com.yahoo.vespa.defaults.Defaults; -import com.yahoo.vespa.testrunner.legacy.TestProfile; import java.nio.file.Path; import java.util.List; diff --git a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/legacy/TestProfile.java b/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestProfile.java index ad65d150874..95a2b2723b8 100644 --- a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/legacy/TestProfile.java +++ b/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestProfile.java @@ -1,5 +1,5 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.testrunner.legacy; +package com.yahoo.vespa.hosted.testrunner; /** * @author valerijf 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 0f6e26d256f..f31390e9933 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 @@ -4,7 +4,6 @@ package com.yahoo.vespa.hosted.testrunner; import com.google.inject.Inject; import com.yahoo.vespa.defaults.Defaults; import com.yahoo.vespa.testrunner.legacy.LegacyTestRunner; -import com.yahoo.vespa.testrunner.legacy.TestProfile; import org.fusesource.jansi.AnsiOutputStream; import org.fusesource.jansi.HtmlAnsiOutputStream; @@ -114,14 +113,14 @@ public class TestRunner implements LegacyTestRunner { return builder; } - public synchronized void test(TestProfile testProfile, byte[] testConfig) { + public synchronized void test(Suite suite, byte[] testConfig) { if (status == Status.RUNNING) throw new IllegalArgumentException("Tests are already running; should not receive this request now."); log.clear(); status = Status.RUNNING; - new Thread(() -> runTests(testProfile, testConfig)).start(); + new Thread(() -> runTests(toProfile(suite), testConfig)).start(); } public Collection<LogRecord> getLog(long after) { @@ -210,4 +209,14 @@ public class TestRunner implements LegacyTestRunner { private NoTestsException(String message) { super(message); } } + static TestProfile toProfile(Suite suite) { + switch (suite) { + case SYSTEM_TEST: return TestProfile.SYSTEM_TEST; + case STAGING_SETUP_TEST: return TestProfile.STAGING_SETUP_TEST; + case STAGING_TEST: return TestProfile.STAGING_TEST; + case PRODUCTION_TEST: return TestProfile.PRODUCTION_TEST; + default: throw new IllegalArgumentException("Unknown test suite '" + suite + "'"); + } + } + } diff --git a/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestRunnerHandler.java b/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestRunnerHandler.java index 621f0964a40..842fc5078c1 100644 --- a/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestRunnerHandler.java +++ b/vespa-testrunner-components/src/main/java/com/yahoo/vespa/hosted/testrunner/TestRunnerHandler.java @@ -11,7 +11,7 @@ import com.yahoo.io.IOUtils; import com.yahoo.slime.Cursor; import com.yahoo.slime.JsonFormat; import com.yahoo.slime.Slime; -import com.yahoo.vespa.testrunner.legacy.TestProfile; +import com.yahoo.vespa.testrunner.legacy.LegacyTestRunner; import com.yahoo.yolean.Exceptions; import java.io.ByteArrayOutputStream; @@ -75,9 +75,9 @@ public class TestRunnerHandler extends LoggingRequestHandler { final String path = request.getUri().getPath(); if (path.startsWith("/tester/v1/run/")) { String type = lastElement(path); - TestProfile testProfile = TestProfile.valueOf(type.toUpperCase() + "_TEST"); + LegacyTestRunner.Suite suite = LegacyTestRunner.Suite.valueOf(type.toUpperCase() + "_TEST"); byte[] config = IOUtils.readBytes(request.getData(), 1 << 16); - testRunner.test(testProfile, config); + testRunner.test(suite, config); log.info("Started tests of type " + type + " and status is " + testRunner.getStatus()); return new Response("Successfully started " + type + " tests"); } diff --git a/vespa-testrunner-components/src/test/java/com/yahoo/vespa/hosted/testrunner/PomXmlGeneratorTest.java b/vespa-testrunner-components/src/test/java/com/yahoo/vespa/hosted/testrunner/PomXmlGeneratorTest.java index 391e2a0abbf..943583ae42b 100644 --- a/vespa-testrunner-components/src/test/java/com/yahoo/vespa/hosted/testrunner/PomXmlGeneratorTest.java +++ b/vespa-testrunner-components/src/test/java/com/yahoo/vespa/hosted/testrunner/PomXmlGeneratorTest.java @@ -1,7 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.testrunner; -import com.yahoo.vespa.testrunner.legacy.TestProfile; import org.junit.Test; import java.io.IOException; diff --git a/vespa-testrunner-components/src/test/java/com/yahoo/vespa/hosted/testrunner/TestRunnerTest.java b/vespa-testrunner-components/src/test/java/com/yahoo/vespa/hosted/testrunner/TestRunnerTest.java index 4612f5b217a..68fa5427492 100644 --- a/vespa-testrunner-components/src/test/java/com/yahoo/vespa/hosted/testrunner/TestRunnerTest.java +++ b/vespa-testrunner-components/src/test/java/com/yahoo/vespa/hosted/testrunner/TestRunnerTest.java @@ -1,7 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.testrunner; -import com.yahoo.vespa.testrunner.legacy.TestProfile; +import com.yahoo.vespa.testrunner.legacy.LegacyTestRunner; import org.fusesource.jansi.Ansi; import org.junit.Before; import org.junit.Rule; @@ -14,6 +14,8 @@ import java.nio.file.Path; import java.util.Iterator; import java.util.logging.LogRecord; +import static com.yahoo.vespa.testrunner.legacy.LegacyTestRunner.Suite.STAGING_TEST; +import static com.yahoo.vespa.testrunner.legacy.LegacyTestRunner.Suite.SYSTEM_TEST; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -48,7 +50,7 @@ public class TestRunnerTest { public void ansiCodesAreConvertedToHtml() throws InterruptedException { TestRunner runner = new TestRunner(artifactsPath, testPath, logFile, configFile, settingsFile, __ -> new ProcessBuilder("echo", Ansi.ansi().fg(Ansi.Color.RED).a("Hello!").reset().toString())); - runner.test(TestProfile.SYSTEM_TEST, new byte[0]); + runner.test(SYSTEM_TEST, new byte[0]); while (runner.getStatus() == TestRunner.Status.RUNNING) { Thread.sleep(10); } @@ -65,7 +67,7 @@ public class TestRunnerTest { Files.delete(artifactsPath.resolve("my-tests.jar")); TestRunner runner = new TestRunner(artifactsPath, testPath, logFile, configFile, settingsFile, __ -> new ProcessBuilder("This is a command that doesn't exist, for sure!")); - runner.test(TestProfile.SYSTEM_TEST, new byte[0]); + runner.test(SYSTEM_TEST, new byte[0]); while (runner.getStatus() == TestRunner.Status.RUNNING) { Thread.sleep(10); } @@ -81,7 +83,7 @@ public class TestRunnerTest { public void errorLeadsToError() throws InterruptedException { TestRunner runner = new TestRunner(artifactsPath, testPath, logFile, configFile, settingsFile, __ -> new ProcessBuilder("false")); - runner.test(TestProfile.SYSTEM_TEST, new byte[0]); + runner.test(SYSTEM_TEST, new byte[0]); while (runner.getStatus() == TestRunner.Status.RUNNING) { Thread.sleep(10); } @@ -93,7 +95,7 @@ public class TestRunnerTest { public void failureLeadsToFailure() throws InterruptedException { TestRunner runner = new TestRunner(artifactsPath, testPath, logFile, configFile, settingsFile, __ -> new ProcessBuilder("false")); - runner.test(TestProfile.SYSTEM_TEST, new byte[0]); + runner.test(SYSTEM_TEST, new byte[0]); while (runner.getStatus() == TestRunner.Status.RUNNING) { Thread.sleep(10); } @@ -105,7 +107,7 @@ public class TestRunnerTest { public void filesAreGenerated() throws InterruptedException, IOException { TestRunner runner = new TestRunner(artifactsPath, testPath, logFile, configFile, settingsFile, __ -> new ProcessBuilder("echo", "Hello!")); - runner.test(TestProfile.SYSTEM_TEST, "config".getBytes()); + runner.test(SYSTEM_TEST, "config".getBytes()); while (runner.getStatus() == TestRunner.Status.RUNNING) { Thread.sleep(10); } @@ -119,7 +121,7 @@ public class TestRunnerTest { public void runnerCanBeReused() throws InterruptedException, IOException { TestRunner runner = new TestRunner(artifactsPath, testPath, logFile, configFile, settingsFile, __ -> new ProcessBuilder("sleep", "0.1")); - runner.test(TestProfile.SYSTEM_TEST, "config".getBytes()); + runner.test(SYSTEM_TEST, "config".getBytes()); assertEquals(TestRunner.Status.RUNNING, runner.getStatus()); while (runner.getStatus() == TestRunner.Status.RUNNING) { @@ -128,7 +130,7 @@ public class TestRunnerTest { assertEquals(1, runner.getLog(-1).size()); assertEquals(TestRunner.Status.SUCCESS, runner.getStatus()); - runner.test(TestProfile.STAGING_TEST, "newConfig".getBytes()); + runner.test(STAGING_TEST, "newConfig".getBytes()); while (runner.getStatus() == TestRunner.Status.RUNNING) { Thread.sleep(10); } |