You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2024/01/03 15:43:58 UTC

(maven-surefire) 01/01: [SUREFIRE-2229] [REGRESSION] SUREFIRE-2224 causes stack trace to be omitted for errors and failures

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

michaelo pushed a commit to branch SUREFIRE-2229
in repository https://gitbox.apache.org/repos/asf/maven-surefire.git

commit 5f27699f91509068ed1b8d9834270a79cbeae0b4
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Wed Jan 3 16:43:34 2024 +0100

    [SUREFIRE-2229] [REGRESSION] SUREFIRE-2224 causes stack trace to be omitted for errors and failures
    
    This closes #709
---
 .../maven/plugin/surefire/report/StatelessXmlReporter.java     | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 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 043959dd5..7fb661eb5 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
@@ -432,7 +432,7 @@ public class StatelessXmlReporter implements StatelessReportEventListener<Wrappe
             boolean trimStackTrace,
             OutputStream fw,
             String testErrorType,
-            boolean enableNestedOutErrElements)
+            boolean createNestedOutErrElements)
             throws IOException {
         ppw.startElement(testErrorType);
 
@@ -456,7 +456,11 @@ public class StatelessXmlReporter implements StatelessReportEventListener<Wrappe
             }
         }
 
-        if (enableNestedOutErrElements) {
+        /* This structure is inconsistent due to bad legacy design choices for the XML schema.
+         * Ideally, all elements would be complex and strackTrace would have its own element.
+         * See SUREFIRE-2230 for details to how improve and unify the schema in the future.
+         */
+        if (createNestedOutErrElements) {
             ppw.startElement("stackTrace");
             if (stackTrace != null) {
                 extraEscapeElementValue(stackTrace, outputStreamWriter, ppw, fw);
@@ -464,6 +468,8 @@ public class StatelessXmlReporter implements StatelessReportEventListener<Wrappe
             ppw.endElement();
 
             createOutErrElements(outputStreamWriter, ppw, report, fw);
+        } else if (stackTrace != null) {
+            extraEscapeElementValue(stackTrace, outputStreamWriter, ppw, fw);
         }
 
         ppw.endElement(); // entry type