summaryrefslogtreecommitdiffstats
path: root/vespa-osgi-testrunner
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2021-12-03 10:25:15 +0100
committerJon Marius Venstad <venstad@gmail.com>2021-12-03 10:25:15 +0100
commit3825b93a34e921ba91ce46bc40a290cbcd85d7e5 (patch)
treebf1638cbd6095fb04db1a0e38b8a98cf097fcb6d /vespa-osgi-testrunner
parent68847a31fd792ce7c1df90d4552980d8fd43253f (diff)
Handle messages without end formatting
Diffstat (limited to 'vespa-osgi-testrunner')
-rw-r--r--vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/HtmlLogger.java8
-rw-r--r--vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/HtmlLoggerTest.java14
2 files changed, 15 insertions, 7 deletions
diff --git a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/HtmlLogger.java b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/HtmlLogger.java
index 7a05cbf74fd..ce82a8c6496 100644
--- a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/HtmlLogger.java
+++ b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/HtmlLogger.java
@@ -20,16 +20,16 @@ public class HtmlLogger {
public static final Level HTML = new Level("html", 1) { };
private final ByteArrayOutputStream buffer = new ByteArrayOutputStream();
- private final PrintStream formatter = new PrintStream(new HtmlAnsiOutputStream(buffer));
public LogRecord toLog(String line) {
if (line.length() > 1 << 13)
line = line.substring(0, 1 << 13) + " ... (this log entry was truncated due to size)";
buffer.reset();
- formatter.print(line);
- formatter.flush();
- return new LogRecord(HTML, buffer.toString(UTF_8)); //.replaceAll(" ", "&nbsp;"));
+ try (PrintStream formatter = new PrintStream(new HtmlAnsiOutputStream(buffer))) {
+ formatter.print(line);
+ }
+ return new LogRecord(HTML, buffer.toString(UTF_8));
}
}
diff --git a/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/HtmlLoggerTest.java b/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/HtmlLoggerTest.java
index c230bac9dce..cddb07dc4a6 100644
--- a/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/HtmlLoggerTest.java
+++ b/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/HtmlLoggerTest.java
@@ -4,6 +4,7 @@ package com.yahoo.vespa.testrunner;
import org.fusesource.jansi.Ansi;
import org.junit.jupiter.api.Test;
+import java.util.List;
import java.util.logging.LogRecord;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -15,10 +16,17 @@ class HtmlLoggerTest {
@Test
void testConversionToHtml() {
- LogRecord html = new HtmlLogger().toLog(Ansi.ansi().fg(Ansi.Color.RED).a("</body>Hello!").reset().toString());
- assertEquals("html", html.getLevel().getName());
+ String splitMessage = Ansi.ansi().fg(Ansi.Color.RED).a("</body>Hello!\ncontinued").reset().toString();
+ List<String> messages = List.of(splitMessage.split("\n"));
+ LogRecord html0 = new HtmlLogger().toLog(messages.get(0));
+ assertEquals("html", html0.getLevel().getName());
assertEquals("<span style=\"color: red;\">&lt;/body&gt;Hello!</span>",
- html.getMessage());
+ html0.getMessage());
+
+ LogRecord html1 = new HtmlLogger().toLog(messages.get(1));
+ assertEquals("html", html1.getLevel().getName());
+ assertEquals("continued",
+ html1.getMessage());
}
}