You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ti...@apache.org on 2019/04/04 02:04:16 UTC

[maven-surefire] branch 1546-1222 updated: StatelessXmlReporter using display names without configuration

This is an automated email from the ASF dual-hosted git repository.

tibordigana pushed a commit to branch 1546-1222
in repository https://gitbox.apache.org/repos/asf/maven-surefire.git


The following commit(s) were added to refs/heads/1546-1222 by this push:
     new c392409  StatelessXmlReporter using display names without configuration
c392409 is described below

commit c39240907f00e21e7806d930445cb9f07972b675
Author: tibordigana <ti...@apache.org>
AuthorDate: Thu Apr 4 04:03:51 2019 +0200

    StatelessXmlReporter using display names without configuration
---
 .../surefire/report/StatelessXmlReporter.java      |  6 +--
 .../plugin/surefire/report/WrappedReportEntry.java | 20 +++++--
 .../surefire/report/WrappedReportEntryTest.java    | 62 +++++++++++++++++++---
 3 files changed, 74 insertions(+), 14 deletions(-)

diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/StatelessXmlReporter.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/StatelessXmlReporter.java
index 11cec8d..5052f84 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/StatelessXmlReporter.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/StatelessXmlReporter.java
@@ -354,14 +354,14 @@ public class StatelessXmlReporter
     private void startTestElement( XMLWriter ppw, WrappedReportEntry report )
     {
         ppw.startElement( "testcase" );
-        ppw.addAttribute( "name", report.getName() == null ? "" : extraEscape( report.getName(), true ) );
+        ppw.addAttribute( "name", report.getReportName() == null ? "" : extraEscape( report.getReportName(), true ) );
 
         if ( report.getGroup() != null )
         {
             ppw.addAttribute( "group", report.getGroup() );
         }
 
-        String className = report.getReportName( reportNameSuffix );
+        String className = report.getReportSourceName( reportNameSuffix );
         if ( className != null )
         {
             ppw.addAttribute( "classname", extraEscape( className, true ) );
@@ -378,7 +378,7 @@ public class StatelessXmlReporter
         ppw.addAttribute( "xsi:noNamespaceSchemaLocation", xsdSchemaLocation );
         ppw.addAttribute( "version", "3.0" );
 
-        String reportName = report.getReportName( reportNameSuffix );
+        String reportName = report.getReportSourceName( reportNameSuffix );
         ppw.addAttribute( "name", reportName == null ? "" : extraEscape( reportName, true ) );
 
         if ( report.getGroup() != null )
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/WrappedReportEntry.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/WrappedReportEntry.java
index f1ee649..c1912a5 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/WrappedReportEntry.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/WrappedReportEntry.java
@@ -25,6 +25,7 @@ import org.apache.maven.surefire.report.TestSetReportEntry;
 
 import java.util.Collections;
 import java.util.Map;
+import java.util.Objects;
 
 import static java.util.Collections.unmodifiableMap;
 import static org.apache.maven.plugin.surefire.report.ReporterUtils.formatElapsedTime;
@@ -122,7 +123,7 @@ public class WrappedReportEntry
 
     public String getClassMethodName()
     {
-        return getSourceName() + "." + getName();
+        return original.getSourceName() + "." + original.getName();
     }
 
     @Override
@@ -154,14 +155,23 @@ public class WrappedReportEntry
         return formatElapsedTime( getElapsed() );
     }
 
-    public String getReportName()
+    String getReportSourceName()
     {
-        return getSourceName();
+        String sourceName = getSourceName();
+        String sourceText = getSourceText();
+        return isBlank( sourceText ) || Objects.equals( sourceName, sourceText ) ? sourceName : sourceText;
     }
 
-    public String getReportName( String suffix )
+    String getReportSourceName( String suffix )
     {
-        return isBlank( suffix ) ? getReportName() : getReportName() + "(" + suffix + ")";
+        return isBlank( suffix ) ? getReportSourceName() : getReportSourceName() + "(" + suffix + ")";
+    }
+
+    String getReportName()
+    {
+        String name = getName();
+        String nameText = getNameText();
+        return isBlank( nameText ) || Objects.equals( name, nameText ) ? name : nameText;
     }
 
     public String getOutput( boolean trimStackTrace )
diff --git a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/report/WrappedReportEntryTest.java b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/report/WrappedReportEntryTest.java
index e79345b..014f722 100644
--- a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/report/WrappedReportEntryTest.java
+++ b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/report/WrappedReportEntryTest.java
@@ -23,6 +23,8 @@ import org.apache.maven.surefire.report.SimpleReportEntry;
 
 import junit.framework.TestCase;
 
+import static org.apache.maven.plugin.surefire.report.ReportEntryType.*;
+
 /**
  * @author Kristian Rosenvold
  */
@@ -33,26 +35,74 @@ public class WrappedReportEntryTest
     {
         String className = "surefire.testcase.JunitParamsTest";
         WrappedReportEntry wr =
-            new WrappedReportEntry( new SimpleReportEntry( className, null, null, null ), null, 12, null, null );
-        final String reportName = wr.getReportName();
+            new WrappedReportEntry( new SimpleReportEntry( className, null, null, null ), SUCCESS, 12, null, null );
+        final String reportName = wr.getReportSourceName();
+        assertEquals( "surefire.testcase.JunitParamsTest.null", wr.getClassMethodName() );
         assertEquals( "surefire.testcase.JunitParamsTest", reportName );
+        assertTrue( wr.isSucceeded() );
+        assertFalse( wr.isErrorOrFailure() );
+        assertFalse( wr.isSkipped() );
     }
 
     public void testRegular()
     {
         ReportEntry reportEntry = new SimpleReportEntry( "surefire.testcase.JunitParamsTest", null, "testSum", null );
         WrappedReportEntry wr = new WrappedReportEntry( reportEntry, null, 12, null, null );
-        final String reportName = wr.getReportName();
-        assertEquals( "surefire.testcase.JunitParamsTest", reportName );
+        assertEquals( "surefire.testcase.JunitParamsTest.testSum", wr.getClassMethodName() );
+        assertEquals( "surefire.testcase.JunitParamsTest", wr.getReportSourceName() );
+        assertEquals( "surefire.testcase.JunitParamsTest(BDD)", wr.getReportSourceName( "BDD" ) );
+        assertEquals( "testSum", wr.getReportName() );
+        assertFalse(wr.isSucceeded());
+        assertFalse( wr.isErrorOrFailure() );
+        assertFalse( wr.isSkipped() );
+        assertTrue( wr.getSystemProperties().isEmpty() );
+        assertNull( wr.getGroup() );
+        assertEquals( "surefire.testcase.JunitParamsTest", wr.getNameWithGroup() );
+    }
+
+    public void testDisplayNames()
+    {
+        ReportEntry reportEntry =
+                new SimpleReportEntry( "surefire.testcase.JunitParamsTest", "dn1", "testSum", "dn2", "exception" );
+        WrappedReportEntry wr = new WrappedReportEntry( reportEntry, ERROR, 12, null, null );
+        assertEquals( "surefire.testcase.JunitParamsTest.testSum", wr.getClassMethodName() );
+        assertEquals( "dn1", wr.getReportSourceName() );
+        assertEquals( "dn1(BDD)", wr.getReportSourceName( "BDD" ) );
+        assertEquals( "dn2", wr.getReportName() );
+        assertFalse(wr.isSucceeded());
+        assertTrue(wr.isErrorOrFailure());
+        assertFalse( wr.isSkipped() );
+        assertNull( wr.getStackTraceWriter() );
+        assertEquals( "surefire.testcase.JunitParamsTest.testSum  Time elapsed: 0.012 s",
+                wr.getElapsedTimeSummary() );
+        assertEquals( "surefire.testcase.JunitParamsTest.testSum  Time elapsed: 0.012 s  <<< ERROR!",
+                wr.getOutput( false ) );
+        assertEquals( "exception", wr.getMessage() );
+    }
+
+    public void testEqualDisplayNames()
+    {
+        ReportEntry reportEntry = new SimpleReportEntry( "surefire.testcase.JunitParamsTest",
+                "surefire.testcase.JunitParamsTest", "testSum", "testSum" );
+        WrappedReportEntry wr = new WrappedReportEntry( reportEntry, FAILURE, 12, null, null );
+        assertEquals( "surefire.testcase.JunitParamsTest", wr.getReportSourceName() );
+        assertEquals( "surefire.testcase.JunitParamsTest(BDD)", wr.getReportSourceName( "BDD" ) );
+        assertEquals( "testSum", wr.getReportName() );
+        assertFalse(wr.isSucceeded());
+        assertTrue( wr.isErrorOrFailure() );
+        assertFalse( wr.isSkipped() );
     }
 
     public void testGetReportNameWithParams()
     {
         String className = "[0] 1\u002C 2\u002C 3 (testSum)";
         ReportEntry reportEntry = new SimpleReportEntry( className, null, null, null );
-        WrappedReportEntry wr = new WrappedReportEntry( reportEntry, null, 12, null, null );
-        final String reportName = wr.getReportName();
+        WrappedReportEntry wr = new WrappedReportEntry( reportEntry, SKIPPED, 12, null, null );
+        final String reportName = wr.getReportSourceName();
         assertEquals( "[0] 1, 2, 3 (testSum)", reportName );
+        assertFalse( wr.isSucceeded() );
+        assertFalse (wr.isErrorOrFailure() );
+        assertTrue( wr.isSkipped() );
     }
 
     public void testElapsed()