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 )