This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-surefire.git
The following commit(s) were added to refs/heads/master by this push:
new e6287ddbd [SUREFIRE-2232] [REGRESSION] StatelessXmlReporter fails to
process failed result without a throwable
e6287ddbd is described below
commit e6287ddbda7bf89ba370759af6164cbf925eebd1
Author: dr29bart <[email protected]>
AuthorDate: Thu Jan 11 09:04:26 2024 -0600
[SUREFIRE-2232] [REGRESSION] StatelessXmlReporter fails to process failed
result without a throwable
This closes #716
---
.../plugin/surefire/report/StatelessXmlReporter.java | 5 ++++-
.../surefire/report/StatelessXmlReporterTest.java | 17 +++++++++++++++++
2 files changed, 21 insertions(+), 1 deletion(-)
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 7fb661eb5..f5f2916c5 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
@@ -47,6 +47,7 @@ import static
org.apache.maven.plugin.surefire.report.FileReporterUtils.stripIll
import static org.apache.maven.plugin.surefire.report.ReportEntryType.SKIPPED;
import static org.apache.maven.plugin.surefire.report.ReportEntryType.SUCCESS;
import static org.apache.maven.surefire.shared.utils.StringUtils.isBlank;
+import static org.apache.maven.surefire.shared.utils.StringUtils.isNotBlank;
// CHECKSTYLE_OFF: LineLength
/**
@@ -451,7 +452,9 @@ public class StatelessXmlReporter implements
StatelessReportEventListener<Wrappe
String type = delimiter == -1 ? stackTrace :
stackTrace.substring(0, delimiter);
ppw.addAttribute("type", type);
} else {
- ppw.addAttribute("type", new
StringTokenizer(stackTrace).nextToken());
+ if (isNotBlank(stackTrace)) {
+ ppw.addAttribute("type", new
StringTokenizer(stackTrace).nextToken());
+ }
}
}
}
diff --git
a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/report/StatelessXmlReporterTest.java
b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/report/StatelessXmlReporterTest.java
index ea2cfbc0b..f46bb2001 100644
---
a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/report/StatelessXmlReporterTest.java
+++
b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/report/StatelessXmlReporterTest.java
@@ -522,6 +522,23 @@ public class StatelessXmlReporterTest extends TestCase {
assertThat((boolean) getInternalState(out, "closed")).isTrue();
}
+ public void testReporterHandlesATestWithoutMessageAndWithEmptyStackTrace()
{
+ StackTraceWriter stackTraceWriterOne = new
DeserializedStacktraceWriter(null, null, "");
+
+ WrappedReportEntry testReport = new WrappedReportEntry(
+ new SimpleReportEntry(
+ NORMAL_RUN, 1L, getClass().getName(), null, "a test
name", null, stackTraceWriterOne, 5),
+ ERROR,
+ 5,
+ null,
+ null);
+
+ StatelessXmlReporter reporter = new StatelessXmlReporter(
+ reportDir, null, false, 1, new HashMap<>(), XSD, "3.0.1",
false, false, false, false);
+
+ reporter.testSetCompleted(testReport, stats);
+ }
+
private boolean defaultCharsetSupportsSpecialChar() {
// some charsets are not able to deal with \u0115 on both ways of the
conversion
return "\u0115\u00DC".equals(new String("\u0115\u00DC".getBytes()));