summaryrefslogtreecommitdiffstats
path: root/vespa-osgi-testrunner
diff options
context:
space:
mode:
authorJon Marius Venstad <jonmv@users.noreply.github.com>2022-03-03 19:19:52 +0100
committerGitHub <noreply@github.com>2022-03-03 19:19:52 +0100
commitd538dbc39a3f8da7160c6f0c034ff40824cd4bed (patch)
tree0d41cbf06e7155df3ca5b3a5ab961f95a94ff4f7 /vespa-osgi-testrunner
parent3de5d8abfbd928f79abce2c024833e8ae925a810 (diff)
parentcd62e826300f37b66df9b06638dde31eb4e8493b (diff)
Merge pull request #21535 from vespa-engine/jonmv/more-dep-orch-adjustments
Generate better test id
Diffstat (limited to 'vespa-osgi-testrunner')
-rw-r--r--vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitRunner.java3
-rw-r--r--vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/VespaJunitLogListener.java19
2 files changed, 13 insertions, 9 deletions
diff --git a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitRunner.java b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitRunner.java
index 1099775c0dd..c59c693a789 100644
--- a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitRunner.java
+++ b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitRunner.java
@@ -202,8 +202,7 @@ public class JunitRunner extends AbstractComponent implements TestRunner {
var failures = report.getFailures().stream()
.map(failure -> {
TestReport.trimStackTraces(failure.getException(), JunitRunner.class.getName());
- return new TestReport.Failure(failure.getTestIdentifier().getParentId().map(id -> id + ".").orElse("") +
- failure.getTestIdentifier().getDisplayName(),
+ return new TestReport.Failure(VespaJunitLogListener.toString(failure.getTestIdentifier().getUniqueIdObject()),
failure.getException());
})
.collect(Collectors.toList());
diff --git a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/VespaJunitLogListener.java b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/VespaJunitLogListener.java
index 90a5775f8c2..b49f4e5e431 100644
--- a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/VespaJunitLogListener.java
+++ b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/VespaJunitLogListener.java
@@ -4,6 +4,7 @@ package com.yahoo.vespa.testrunner;
import ai.vespa.hosted.cd.InconclusiveTestException;
import org.junit.platform.engine.TestExecutionResult;
+import org.junit.platform.engine.UniqueId;
import org.junit.platform.engine.reporting.ReportEntry;
import org.junit.platform.launcher.TestExecutionListener;
import org.junit.platform.launcher.TestIdentifier;
@@ -30,7 +31,7 @@ import static java.util.stream.Collectors.joining;
class VespaJunitLogListener implements TestExecutionListener {
- private final Map<String, NavigableMap<Status, List<String>>> results = new ConcurrentSkipListMap<>();
+ private final Map<String, NavigableMap<Status, List<UniqueId>>> results = new ConcurrentSkipListMap<>();
private final Consumer<LogRecord> logger;
VespaJunitLogListener(Consumer<LogRecord> logger) {
@@ -60,7 +61,7 @@ class VespaJunitLogListener implements TestExecutionListener {
testIdentifier.getParentId().ifPresent(parent -> {
results.computeIfAbsent(parent, __ -> new ConcurrentSkipListMap<>())
.computeIfAbsent(Status.skipped, __ -> new CopyOnWriteArrayList<>())
- .add(testIdentifier.getDisplayName());
+ .add(testIdentifier.getUniqueIdObject());
});
}
@@ -68,7 +69,7 @@ class VespaJunitLogListener implements TestExecutionListener {
public void executionFinished(TestIdentifier testIdentifier, TestExecutionResult testExecutionResult) {
if (testIdentifier.isContainer()) {
if (testIdentifier.getParentIdObject().isPresent()) {
- NavigableMap<Status, List<String>> children = results.getOrDefault(testIdentifier.getUniqueId(), emptyNavigableMap());
+ NavigableMap<Status, List<UniqueId>> children = results.getOrDefault(testIdentifier.getUniqueId(), emptyNavigableMap());
Level level = children.containsKey(Status.failed) ? SEVERE : INFO;
log(level,
"Tests in " + testIdentifier.getDisplayName() + " done: " +
@@ -76,9 +77,9 @@ class VespaJunitLogListener implements TestExecutionListener {
}
else {
Map<Status, List<String>> testResults = new HashMap<>();
- results.forEach((parent, results) -> results.forEach((status, tests) -> tests.forEach(test -> testResults.computeIfAbsent(status, __ -> new ArrayList<>())
- .add(parent + "." + test))));
- log(INFO, "Done running " + testResults.values().stream().mapToInt(List::size).sum() + " tests:");
+ results.forEach((__, results) -> results.forEach((status, tests) -> tests.forEach(test -> testResults.computeIfAbsent(status, ___ -> new ArrayList<>())
+ .add(toString(test)))));
+ log(INFO, "Done running " + testResults.values().stream().mapToInt(List::size).sum() + " tests.");
testResults.forEach((status, tests) -> {
if (status != Status.successful)
log(status == Status.failed ? SEVERE : status == Status.inconclusive ? INFO : WARNING,
@@ -104,12 +105,16 @@ class VespaJunitLogListener implements TestExecutionListener {
testIdentifier.getParentId().ifPresent(parent -> {
results.computeIfAbsent(parent, __ -> new ConcurrentSkipListMap<>())
.computeIfAbsent(status, __ -> new CopyOnWriteArrayList<>())
- .add(testIdentifier.getDisplayName());
+ .add(testIdentifier.getUniqueIdObject());
});
log(level, "Test " + status + ": " + testIdentifier.getDisplayName(), testExecutionResult.getThrowable().orElse(null));
}
}
+ static String toString(UniqueId testId) {
+ return testId.getSegments().stream().skip(1).map(UniqueId.Segment::getValue).collect(joining("."));
+ }
+
@Override
public void reportingEntryPublished(TestIdentifier testIdentifier, ReportEntry report) {
String message = report.getKeyValuePairs().keySet().equals(Set.of("value"))