You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by so...@apache.org on 2018/12/02 17:44:20 UTC
[maven-surefire] branch SUREFIRE-1603 created (now 37c4db5)
This is an automated email from the ASF dual-hosted git repository.
sor pushed a change to branch SUREFIRE-1603
in repository https://gitbox.apache.org/repos/asf/maven-surefire.git.
at 37c4db5 [SUREFIRE-1603] Handle JUnit Platform TestReport entries
This branch includes the following new commits:
new 37c4db5 [SUREFIRE-1603] Handle JUnit Platform TestReport entries
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[maven-surefire] 01/01: [SUREFIRE-1603] Handle JUnit Platform
TestReport entries
Posted by so...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
sor pushed a commit to branch SUREFIRE-1603
in repository https://gitbox.apache.org/repos/asf/maven-surefire.git
commit 37c4db5ae2f3939a1111440643e0d6538c31dd1f
Author: Christian Stein <so...@gmail.com>
AuthorDate: Sun Dec 2 18:44:08 2018 +0100
[SUREFIRE-1603] Handle JUnit Platform TestReport entries
WORK-IN-PROGRESS
https://issues.apache.org/jira/browse/SUREFIRE-1603
---
.../surefire/junitplatform/RunListenerAdapter.java | 26 ++++++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/surefire-providers/surefire-junit-platform/src/main/java/org/apache/maven/surefire/junitplatform/RunListenerAdapter.java b/surefire-providers/surefire-junit-platform/src/main/java/org/apache/maven/surefire/junitplatform/RunListenerAdapter.java
index 85227f3..177123e 100644
--- a/surefire-providers/surefire-junit-platform/src/main/java/org/apache/maven/surefire/junitplatform/RunListenerAdapter.java
+++ b/surefire-providers/surefire-junit-platform/src/main/java/org/apache/maven/surefire/junitplatform/RunListenerAdapter.java
@@ -23,6 +23,9 @@ import static org.apache.maven.surefire.report.SimpleReportEntry.ignored;
import static org.junit.platform.engine.TestExecutionResult.Status.ABORTED;
import static org.junit.platform.engine.TestExecutionResult.Status.FAILED;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
@@ -33,6 +36,7 @@ import org.apache.maven.surefire.report.SimpleReportEntry;
import org.apache.maven.surefire.report.StackTraceWriter;
import org.junit.platform.engine.TestExecutionResult;
import org.junit.platform.engine.TestSource;
+import org.junit.platform.engine.reporting.ReportEntry;
import org.junit.platform.engine.support.descriptor.ClassSource;
import org.junit.platform.engine.support.descriptor.MethodSource;
import org.junit.platform.launcher.TestExecutionListener;
@@ -53,6 +57,8 @@ final class RunListenerAdapter
private Set<TestIdentifier> testSetNodes = ConcurrentHashMap.newKeySet();
+ private Map<TestIdentifier, List<ReportEntry>> reportEntries = new ConcurrentHashMap<>();
+
RunListenerAdapter( RunListener runListener )
{
this.runListener = runListener;
@@ -113,10 +119,18 @@ final class RunListenerAdapter
completeTestSetIfNecessary( testIdentifier );
}
+ @Override
+ public void reportingEntryPublished( TestIdentifier testIdentifier, ReportEntry entry )
+ {
+ List<ReportEntry> entries = reportEntries.computeIfAbsent( testIdentifier, key -> new ArrayList<>() );
+ entries.add( entry );
+ }
+
private void updateTestPlan( TestPlan testPlan )
{
this.testPlan = testPlan;
testSetNodes.clear();
+ reportEntries.clear();
}
private void ensureTestSetStarted( TestIdentifier testIdentifier )
@@ -167,6 +181,7 @@ final class RunListenerAdapter
{
runListener.testSetCompleted( createTestSetReportEntry( testIdentifier ) );
testSetNodes.remove( testIdentifier );
+ reportEntries.remove( testIdentifier );
}
private void reportFailedTest(
@@ -185,8 +200,15 @@ final class RunListenerAdapter
private SimpleReportEntry createTestSetReportEntry( TestIdentifier testIdentifier )
{
- return new SimpleReportEntry(
- JUnitPlatformProvider.class.getName(), testIdentifier.getLegacyReportingName() );
+ String source = JUnitPlatformProvider.class.getName();
+ String name = testIdentifier.getLegacyReportingName();
+ List<ReportEntry> entries = reportEntries.get( testIdentifier );
+ if (entries != null)
+ {
+ String message = "TODO Unroll " + entries.size() + " report(s).";
+ return new SimpleReportEntry( source, name , message );
+ }
+ return new SimpleReportEntry( source, name );
}
private SimpleReportEntry createReportEntry( TestIdentifier testIdentifier )