diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2021-12-03 10:07:05 +0100 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2021-12-03 10:07:05 +0100 |
commit | 68847a31fd792ce7c1df90d4552980d8fd43253f (patch) | |
tree | 745d9cf9a5d7c4eca1058ba562f4e936801615cd /vespa-testrunner-components | |
parent | 7cc3980cf2b38da62f06444e2785cc752eacf75c (diff) |
Move ANSI to HTML to separate class, and simplify
Diffstat (limited to 'vespa-testrunner-components')
3 files changed, 5 insertions, 42 deletions
diff --git a/vespa-testrunner-components/pom.xml b/vespa-testrunner-components/pom.xml index 2f563748836..4b4b0cfa92c 100644 --- a/vespa-testrunner-components/pom.xml +++ b/vespa-testrunner-components/pom.xml @@ -42,12 +42,6 @@ </dependency> <dependency> - <groupId>org.fusesource.jansi</groupId> - <artifactId>jansi</artifactId> - <version>1.18</version> - </dependency> - - <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> 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 83cfd0030a0..69296c23fa0 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 @@ -3,15 +3,11 @@ package com.yahoo.vespa.hosted.testrunner; import com.google.inject.Inject; import com.yahoo.vespa.defaults.Defaults; -import org.fusesource.jansi.AnsiOutputStream; -import org.fusesource.jansi.HtmlAnsiOutputStream; +import com.yahoo.vespa.testrunner.HtmlLogger; -import java.io.BufferedOutputStream; import java.io.BufferedReader; -import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStreamReader; -import java.io.PrintStream; import java.io.UncheckedIOException; import java.nio.file.Files; import java.nio.file.Path; @@ -29,7 +25,6 @@ import java.util.logging.Logger; import java.util.stream.Collectors; import java.util.stream.Stream; -import static java.nio.charset.StandardCharsets.UTF_8; import static java.util.logging.Level.SEVERE; /** @@ -39,7 +34,6 @@ import static java.util.logging.Level.SEVERE; public class TestRunner implements com.yahoo.vespa.testrunner.TestRunner { private static final Logger logger = Logger.getLogger(TestRunner.class.getName()); - private static final Level HTML = new Level("html", 1) { }; private static final Path vespaHome = Paths.get(Defaults.getDefaults().vespaHome()); private static final String settingsXml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + "<settings xmlns=\"http://maven.apache.org/SETTINGS/1.0.0\"\n" + @@ -150,26 +144,17 @@ public class TestRunner implements com.yahoo.vespa.testrunner.TestRunner { } boolean success; - try (ByteArrayOutputStream logBuffer = new ByteArrayOutputStream(); - PrintStream logPlainFormatter = new PrintStream(new AnsiOutputStream(logBuffer)); - PrintStream logFormatter = new PrintStream(new HtmlAnsiOutputStream(logBuffer))){ + try { writeTestApplicationPom(testProfile); Files.write(configFile, testConfig); Files.write(settingsFile, settingsXml.getBytes()); Process mavenProcess = builder.start(); BufferedReader in = new BufferedReader(new InputStreamReader(mavenProcess.getInputStream())); + HtmlLogger htmlLogger = new HtmlLogger(); in.lines().forEach(line -> { - logFormatter.print(line); - String message = logBuffer.toString(UTF_8); - if (message.length() > 1 << 13) { - logBuffer.reset(); - logPlainFormatter.print(line); // Avoid HTML since we don't know what we'll strip here. - message = logBuffer.toString(UTF_8).substring(0, 1 << 13) + " ... (this log entry was truncated due to size)"; - } - LogRecord record = new LogRecord(HTML, message); - log.put(record.getSequenceNumber(), record); - logBuffer.reset(); + LogRecord html = htmlLogger.toLog(line); + log.put(html.getSequenceNumber(), html); }); success = mavenProcess.waitFor() == 0; } 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 752ca6103d1..2b2c30790c9 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 @@ -44,22 +44,6 @@ public class TestRunnerTest { } @Test - public void ansiCodesAreConvertedToHtml() throws InterruptedException { - TestRunner runner = new TestRunner(artifactsPath, testPath, configFile, settingsFile, - __ -> new ProcessBuilder("echo", Ansi.ansi().fg(Ansi.Color.RED).a("Hello!").reset().toString())); - runner.test(SYSTEM_TEST, new byte[0]); - while (runner.getStatus() == TestRunner.Status.RUNNING) { - Thread.sleep(10); - } - Iterator<LogRecord> log = runner.getLog(-1).iterator(); - log.next(); - LogRecord record = log.next(); - assertEquals("<span style=\"color: red;\">Hello!</span>", record.getMessage()); - assertEquals(0, runner.getLog(record.getSequenceNumber()).size()); - assertEquals(TestRunner.Status.SUCCESS, runner.getStatus()); - } - - @Test public void noTestJarIsAFailure() throws InterruptedException, IOException { Files.delete(artifactsPath.resolve("my-tests.jar")); TestRunner runner = new TestRunner(artifactsPath, testPath, configFile, settingsFile, |