Repository: maven-surefire Updated Branches: refs/heads/master d4aa9b7ac -> 789252c9f
[SUREFIRE-1167] Upgrade DOXIA to Version 1.6 Project: http://git-wip-us.apache.org/repos/asf/maven-surefire/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-surefire/commit/789252c9 Tree: http://git-wip-us.apache.org/repos/asf/maven-surefire/tree/789252c9 Diff: http://git-wip-us.apache.org/repos/asf/maven-surefire/diff/789252c9 Branch: refs/heads/master Commit: 789252c9f3cd7922840d2ae027668a75455c9d8f Parents: d4aa9b7 Author: Tibor17 <tibo...@lycos.com> Authored: Tue Jul 7 00:40:45 2015 +0200 Committer: Tibor17 <tibo...@lycos.com> Committed: Tue Jul 7 00:40:45 2015 +0200 ---------------------------------------------------------------------- maven-surefire-report-plugin/pom.xml | 10 +- .../surefire/report/Surefire597Test.java | 111 ++++--- .../surefire/report/SurefireReportMojoTest.java | 315 +++++++++++-------- .../maven/plugins/surefire/report/Utils.java | 43 +++ 4 files changed, 298 insertions(+), 181 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/789252c9/maven-surefire-report-plugin/pom.xml ---------------------------------------------------------------------- diff --git a/maven-surefire-report-plugin/pom.xml b/maven-surefire-report-plugin/pom.xml index 2b10705..f7b6888 100644 --- a/maven-surefire-report-plugin/pom.xml +++ b/maven-surefire-report-plugin/pom.xml @@ -81,22 +81,22 @@ <dependency> <groupId>org.apache.maven.reporting</groupId> <artifactId>maven-reporting-impl</artifactId> - <version>2.3</version> + <version>2.4</version> </dependency> <dependency> <groupId>org.apache.maven.doxia</groupId> <artifactId>doxia-sink-api</artifactId> - <version>1.4</version> + <version>1.6</version> </dependency> <dependency> <groupId>org.apache.maven.doxia</groupId> <artifactId>doxia-site-renderer</artifactId> - <version>1.4</version> + <version>1.6</version> </dependency> - <dependency> <!-- //todo Someone, somewhere is missing their own -pu dep --> + <dependency> <!-- //todo Someone, somewhere is missing doxia own -pu dep --> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-utils</artifactId> - <version>3.0.8</version> + <version>3.0.15</version> </dependency> <dependency> <groupId>org.apache.maven.shared</groupId> http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/789252c9/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/Surefire597Test.java ---------------------------------------------------------------------- diff --git a/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/Surefire597Test.java b/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/Surefire597Test.java index 079b667..35182d0 100644 --- a/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/Surefire597Test.java +++ b/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/Surefire597Test.java @@ -30,6 +30,7 @@ import static java.util.Collections.singletonList; import static java.util.Locale.ENGLISH; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.CoreMatchers.containsString; +import static org.apache.maven.plugins.surefire.report.Utils.toSystemNewLine; /** * Prevent fom NPE if failure type and message is null however detail presents. @@ -47,50 +48,74 @@ public class Surefire597Test StringWriter writer = new StringWriter(); gen.doGenerateReport( resourceBundle, new XhtmlSink( writer ) {} ); String xml = writer.toString(); - assertThat( xml, containsString( - "<table border=\"1\" class=\"bodyTable\">" - + "<tr class=\"a\">" - + "<th>Tests</th><th>Errors </th><th>Failures</th><th>Skipped</th><th>Success Rate</th><th>Time</th>" + assertThat( xml, containsString( toSystemNewLine( + "<table border=\"1\" class=\"bodyTable\">\n" + + "<tr class=\"a\">\n" + + "<th>Tests</th>\n" + + "<th>Errors </th>\n" + + "<th>Failures</th>\n" + + "<th>Skipped</th>\n" + + "<th>Success Rate</th>\n" + + "<th>Time</th></tr>\n" + + "<tr class=\"b\">\n" + + "<td>1</td>\n" + + "<td>1</td>\n" + + "<td>0</td>\n" + + "<td>0</td>\n" + + "<td>0%</td>\n" + + "<td>0</td>" + "</tr>" - + "<tr class=\"b\">" - + "<td>1</td><td>1</td><td>0</td><td>0</td><td>0%</td><td>0</td>" - + "</tr>" - + "</table>" ) ); - assertThat( xml, containsString( - "<table border=\"1\" class=\"bodyTable\">" - + "<tr class=\"a\">" - + "<th>Package</th><th>Tests</th><th>Errors </th><th>Failures</th><th>Skipped</th>" - + "<th>Success Rate</th><th>Time</th>" - + "</tr>" - + "<tr class=\"b\">" - + "<td><a href=\"#surefire\">surefire</a></td><td>1</td><td>1</td><td>0</td><td>0</td>" - + "<td>0%</td><td>0</td>" - + "</tr>" - + "</table>" ) ); - assertThat( xml, containsString( - "<table border=\"1\" class=\"bodyTable\">" - + "<tr class=\"a\">" - + "<th></th><th>Class</th><th>Tests</th><th>Errors </th><th>Failures</th><th>Skipped</th>" - + "<th>Success Rate</th><th>Time</th>" - + "</tr>" - + "<tr class=\"b\">" - + "<td><a href=\"#surefireMyTest\"><img src=\"images/icon_error_sml.gif\" alt=\"\" /></a></td>" - + "<td><a href=\"#surefireMyTest\">MyTest</a></td>" - + "<td>1</td><td>1</td><td>0</td><td>0</td><td>0%</td><td>0</td>" - + "</tr>" - + "</table>" ) ); - assertThat( xml, containsString( - "<table border=\"1\" class=\"bodyTable\">" - + "<tr class=\"a\">" - + "<td><img src=\"images/icon_error_sml.gif\" alt=\"\" /></td>" - + "<td><a name=\"surefire.MyTest.test\"></a>test</td></tr>" - + "<tr class=\"b\">" - + "<td></td><td>java.lang.RuntimeException: java.lang.IndexOutOfBoundsException: msg</td>" - + "</tr>" - + "<tr class=\"a\">" - + "<td></td><td><div id=\"testerror\">surefire.MyTest:13</div></td>" - + "</tr>" - + "</table>" ) ); + + "</table>" ) ) ); + assertThat( xml, containsString( toSystemNewLine( + "<table border=\"1\" class=\"bodyTable\">\n" + + "<tr class=\"a\">\n" + + "<th>Package</th>\n" + + "<th>Tests</th>\n" + + "<th>Errors </th>\n" + + "<th>Failures</th>\n" + + "<th>Skipped</th>\n" + + "<th>Success Rate</th>\n" + + "<th>Time</th></tr>\n" + + "<tr class=\"b\">\n" + + "<td><a href=\"#surefire\">surefire</a></td>\n" + + "<td>1</td>\n" + + "<td>1</td>\n" + + "<td>0</td>\n" + + "<td>0</td>\n" + + "<td>0%</td>\n" + + "<td>0</td></tr></table>" ) ) ); + assertThat( xml, containsString( toSystemNewLine( + "<table border=\"1\" class=\"bodyTable\">\n" + + "<tr class=\"a\">\n" + + "<th></th>\n" + + "<th>Class</th>\n" + + "<th>Tests</th>\n" + + "<th>Errors </th>\n" + + "<th>Failures</th>\n" + + "<th>Skipped</th>\n" + + "<th>Success Rate</th>\n" + + "<th>Time</th></tr>\n" + + "<tr class=\"b\">\n" + + "<td><a href=\"#surefireMyTest\"><img src=\"images/icon_error_sml.gif\" alt=\"\" /></a></td>\n" + + "<td><a href=\"#surefireMyTest\">MyTest</a></td>\n" + + "<td>1</td>\n" + + "<td>1</td>\n" + + "<td>0</td>\n" + + "<td>0</td>\n" + + "<td>0%</td>\n" + + "<td>0</td></tr></table>" ) ) ); + assertThat( xml, containsString( toSystemNewLine( + "<table border=\"1\" class=\"bodyTable\">\n" + + "<tr class=\"a\">\n" + + "<td><img src=\"images/icon_error_sml.gif\" alt=\"\" /></td>\n" + + "<td><a name=\"surefire.MyTest.test\"></a>test</td></tr>\n" + + "<tr class=\"b\">\n" + + "<td></td>\n" + + "<td>java.lang.RuntimeException: java.lang.IndexOutOfBoundsException: msg</td></tr>\n" + + "<tr class=\"a\">\n" + + "<td></td>\n" + + "<td>\n" + + "<div id=\"testerror\">surefire.MyTest:13</div></td></tr></table>" ) ) ); } } http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/789252c9/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/SurefireReportMojoTest.java ---------------------------------------------------------------------- diff --git a/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/SurefireReportMojoTest.java b/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/SurefireReportMojoTest.java index 722f4f0..f138d8a 100644 --- a/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/SurefireReportMojoTest.java +++ b/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/SurefireReportMojoTest.java @@ -39,6 +39,7 @@ import org.apache.maven.shared.utils.io.IOUtil; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.CoreMatchers.containsString; +import static org.apache.maven.plugins.surefire.report.Utils.toSystemNewLine; /** * @author <a href="mailto:arami...@apache.org">Allan Ramirez</a> @@ -239,24 +240,38 @@ public class SurefireReportMojoTest String htmlContent = FileUtils.fileRead( report ); assertThat( htmlContent, - containsString( "<tr class=\"b\">" - + "<td>1</td><td>1</td><td>0</td><td>0</td><td>0%</td><td>0</td>" ) ); + containsString( toSystemNewLine( "<tr class=\"b\">\n" + + "<td>1</td>\n" + + "<td>1</td>\n" + + "<td>0</td>\n" + + "<td>0</td>\n" + + "<td>0%</td>\n" + + "<td>0</td>" ) ) ); assertThat( htmlContent, - containsString( "<tr class=\"b\">" - + "<td><a href=\"#surefire\">surefire</a></td>" - + "<td>1</td><td>1</td><td>0</td><td>0</td><td>0%</td><td>0</td>" - + "</tr>" ) ); + containsString( toSystemNewLine( "<tr class=\"b\">\n" + + "<td><a href=\"#surefire\">surefire</a></td>\n" + + "<td>1</td>\n" + + "<td>1</td>\n" + + "<td>0</td>\n" + + "<td>0</td>\n" + + "<td>0%</td>\n" + + "<td>0</td></tr>" ) ) ); assertThat( htmlContent, - containsString( "<tr class=\"b\">" - + "<td>" - + "<a href=\"#surefireMyTest\">" - + "<img src=\"images/icon_error_sml.gif\" alt=\"\" />" - + "</a>" - + "</td>" - + "<td><a href=\"#surefireMyTest\">MyTest</a></td>" - + "<td>1</td><td>1</td><td>0</td><td>0</td><td>0%</td><td>0</td>" - + "</tr>" ) ); + containsString( toSystemNewLine( "<tr class=\"b\">\n" + + "<td>" + + "<a href=\"#surefireMyTest\">" + + "<img src=\"images/icon_error_sml.gif\" alt=\"\" />" + + "</a>" + + "</td>\n" + + "<td><a href=\"#surefireMyTest\">MyTest</a></td>\n" + + "<td>1</td>\n" + + "<td>1</td>\n" + + "<td>0</td>\n" + + "<td>0</td>\n" + + "<td>0%</td>\n" + + "<td>0</td></tr>" ) ) ); + assertThat( htmlContent, containsString( ">surefire.MyTest:13</a>" ) ); assertThat( htmlContent, containsString( "./xref-test/surefire/MyTest.html#13" ) ); @@ -310,24 +325,37 @@ public class SurefireReportMojoTest String htmlContent = FileUtils.fileRead( report ); assertThat( htmlContent, - containsString( "<tr class=\"b\">" - + "<td>1</td><td>1</td><td>0</td><td>0</td><td>0%</td><td>0</td>" ) ); + containsString( toSystemNewLine( "<tr class=\"b\">\n" + + "<td>1</td>\n" + + "<td>1</td>\n" + + "<td>0</td>\n" + + "<td>0</td>\n" + + "<td>0%</td>\n" + + "<td>0</td>" ) ) ); assertThat( htmlContent, - containsString( "<tr class=\"b\">" - + "<td><a href=\"#surefire\">surefire</a></td>" - + "<td>1</td><td>1</td><td>0</td><td>0</td><td>0%</td><td>0</td>" - + "</tr>" ) ); + containsString( toSystemNewLine( "<tr class=\"b\">\n" + + "<td><a href=\"#surefire\">surefire</a></td>\n" + + "<td>1</td>\n" + + "<td>1</td>\n" + + "<td>0</td>\n" + + "<td>0</td>\n" + + "<td>0%</td>\n" + + "<td>0</td></tr>" ) ) ); assertThat( htmlContent, - containsString( "<tr class=\"b\">" - + "<td>" - + "<a href=\"#surefireMyTest\">" - + "<img src=\"images/icon_error_sml.gif\" alt=\"\" />" - + "</a>" - + "</td>" - + "<td><a href=\"#surefireMyTest\">MyTest</a></td>" - + "<td>1</td><td>1</td><td>0</td><td>0</td><td>0%</td><td>0</td>" - + "</tr>" ) ); + containsString( toSystemNewLine( "<tr class=\"b\">\n" + + "<td>" + + "<a href=\"#surefireMyTest\">" + + "<img src=\"images/icon_error_sml.gif\" alt=\"\" />" + + "</a>" + + "</td>\n" + + "<td><a href=\"#surefireMyTest\">MyTest</a></td>\n" + + "<td>1</td>\n" + + "<td>1</td>\n" + + "<td>0</td>\n" + + "<td>0</td>\n" + + "<td>0%</td>\n" + + "<td>0</td></tr>" ) ) ); assertThat( htmlContent, containsString( ">surefire.MyTest:13</a>" ) ); @@ -360,24 +388,37 @@ public class SurefireReportMojoTest String htmlContent = FileUtils.fileRead( report ); assertThat( htmlContent, - containsString( "<tr class=\"b\">" - + "<td>1</td><td>1</td><td>0</td><td>0</td><td>0%</td><td>0</td>" ) ); + containsString( toSystemNewLine( "<tr class=\"b\">\n" + + "<td>1</td>\n" + + "<td>1</td>\n" + + "<td>0</td>\n" + + "<td>0</td>\n" + + "<td>0%</td>\n" + + "<td>0</td>" ) ) ); assertThat( htmlContent, - containsString( "<tr class=\"b\">" - + "<td><a href=\"#surefire\">surefire</a></td>" - + "<td>1</td><td>1</td><td>0</td><td>0</td><td>0%</td><td>0</td>" - + "</tr>" ) ); + containsString( toSystemNewLine( "<tr class=\"b\">\n" + + "<td><a href=\"#surefire\">surefire</a></td>\n" + + "<td>1</td>\n" + + "<td>1</td>\n" + + "<td>0</td>\n" + + "<td>0</td>\n" + + "<td>0%</td>\n" + + "<td>0</td></tr>" ) ) ); assertThat( htmlContent, - containsString( "<tr class=\"b\">" - + "<td>" - + "<a href=\"#surefireMyTest\">" - + "<img src=\"images/icon_error_sml.gif\" alt=\"\" />" - + "</a>" - + "</td>" - + "<td><a href=\"#surefireMyTest\">MyTest</a></td>" - + "<td>1</td><td>1</td><td>0</td><td>0</td><td>0%</td><td>0</td>" - + "</tr>" ) ); + containsString( toSystemNewLine( "<tr class=\"b\">\n" + + "<td>" + + "<a href=\"#surefireMyTest\">" + + "<img src=\"images/icon_error_sml.gif\" alt=\"\" />" + + "</a>" + + "</td>\n" + + "<td><a href=\"#surefireMyTest\">MyTest</a></td>\n" + + "<td>1</td>\n" + + "<td>1</td>\n" + + "<td>0</td>\n" + + "<td>0</td>\n" + + "<td>0%</td>\n" + + "<td>0</td></tr>" ) ) ); assertThat( htmlContent, containsString( ">surefire.MyTest:13</a>" ) ); @@ -434,26 +475,39 @@ public class SurefireReportMojoTest String htmlContent = FileUtils.fileRead( report ); assertThat( htmlContent, - containsString( "<tr class=\"b\">" - + "<td>1</td><td>1</td><td>0</td><td>0</td><td>0%</td><td>0</td>" ) ); + containsString( toSystemNewLine( "<tr class=\"b\">\n" + + "<td>1</td>\n" + + "<td>1</td>\n" + + "<td>0</td>\n" + + "<td>0</td>\n" + + "<td>0%</td>\n" + + "<td>0</td>" ) ) ); assertThat( htmlContent, - containsString( "<tr class=\"b\">" - + "<td><a href=\"#surefire\">surefire</a></td>" - + "<td>1</td><td>1</td><td>0</td><td>0</td><td>0%</td><td>0</td>" - + "</tr>" ) ); - assertThat( htmlContent, - containsString( "<tr class=\"b\">" - + "<td>" - + "<a href=\"#surefireMyTest$A\">" - + "<img src=\"images/icon_error_sml.gif\" alt=\"\" />" - + "</a>" - + "</td>" - + "<td><a href=\"#surefireMyTest$A\">MyTest$A</a></td>" - + "<td>1</td><td>1</td><td>0</td><td>0</td><td>0%</td><td>0</td>" - + "</tr>" ) ); + containsString( toSystemNewLine( "<tr class=\"b\">\n" + + "<td><a href=\"#surefire\">surefire</a></td>\n" + + "<td>1</td>\n" + + "<td>1</td>\n" + + "<td>0</td>\n" + + "<td>0</td>\n" + + "<td>0%</td>\n" + + "<td>0</td></tr>" ) ) ); assertThat( htmlContent, - containsString( ">surefire.MyTest$A:45</a>" ) ); + containsString( toSystemNewLine( "<tr class=\"b\">\n" + + "<td>" + + "<a href=\"#surefireMyTest$A\">" + + "<img src=\"images/icon_error_sml.gif\" alt=\"\" />" + + "</a>" + + "</td>\n" + + "<td><a href=\"#surefireMyTest$A\">MyTest$A</a></td>\n" + + "<td>1</td>\n" + + "<td>1</td>\n" + + "<td>0</td>\n" + + "<td>0</td>\n" + + "<td>0%</td>\n" + + "<td>0</td></tr>" ) ) ); + + assertThat( htmlContent, containsString( ">surefire.MyTest$A:45</a>" ) ); assertThat( htmlContent, containsString( "./xref-test/surefire/MyTest$A.html#45" ) ); @@ -483,74 +537,84 @@ public class SurefireReportMojoTest String htmlContent = FileUtils.fileRead( report ); assertThat( htmlContent, - containsString( "<tr class=\"b\">" - + "<td>1</td><td>1</td><td>0</td><td>0</td><td>0%</td><td>0</td>" ) ); + containsString( toSystemNewLine( "<tr class=\"b\">\n" + + "<td>1</td>\n" + + "<td>1</td>\n" + + "<td>0</td>\n" + + "<td>0</td>\n" + + "<td>0%</td>\n" + + "<td>0</td>" ) ) ); assertThat( htmlContent, - containsString( "<tr class=\"b\">" - + "<td><a href=\"#surefire\">surefire</a></td>" - + "<td>1</td><td>1</td><td>0</td><td>0</td><td>0%</td><td>0</td>" - + "</tr>" ) ); + containsString( toSystemNewLine( "<tr class=\"b\">\n" + + "<td><a href=\"#surefire\">surefire</a></td>\n" + + "<td>1</td>\n" + + "<td>1</td>\n" + + "<td>0</td>\n" + + "<td>0</td>\n" + + "<td>0%</td>\n" + + "<td>0</td></tr>" ) ) ); assertThat( htmlContent, - containsString( "<tr class=\"b\">" + containsString( toSystemNewLine( "<tr class=\"b\">\n" + "<td>" + "<a href=\"#surefireMyTest$A\">" + "<img src=\"images/icon_error_sml.gif\" alt=\"\" />" + "</a>" - + "</td>" - + "<td><a href=\"#surefireMyTest$A\">MyTest$A</a></td>" - + "<td>1</td><td>1</td><td>0</td><td>0</td><td>0%</td><td>0</td>" - + "</tr>" ) ); + + "</td>\n" + + "<td><a href=\"#surefireMyTest$A\">MyTest$A</a></td>\n" + + "<td>1</td>\n" + + "<td>1</td>\n" + + "<td>0</td>\n" + + "<td>0</td>\n" + + "<td>0%</td>\n" + + "<td>0</td></tr>" ) ) ); assertThat( htmlContent, containsString( ">surefire.MyTest$A:45</a>" ) ); assertThat( htmlContent, containsString( "./xref-test/surefire/MyTest$A.html#45" ) ); - assertThat( htmlContent, containsString( toSystemNewLine( "<pre>" - + "java.lang.RuntimeException: java.lang.IndexOutOfBoundsException\n" - + "\tat surefire.MyTest.rethrownDelegate(MyTest.java:24)\n" - + "\tat surefire.MyTest.newRethrownDelegate(MyTest.java:17)\n" - + "\tat surefire.MyTest.access$200(MyTest.java:9)\n" - + "\tat surefire.MyTest$A.t(MyTest.java:45)\n" - + "\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n" - + "\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\n" - + "\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n" - + "\tat java.lang.reflect.Method.invoke(Method.java:606)\n" - + "\tat org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)\n" - + "\tat org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)\n" - + "\tat org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)\n" - + "\tat org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)\n" - + "\tat org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)\n" - + "\tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)\n" - + "\tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)\n" - + "\tat org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)\n" - + "\tat org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)\n" - + "\tat org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)\n" - + "\tat org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)\n" - + "\tat org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)\n" - + "\tat org.junit.runners.ParentRunner.run(ParentRunner.java:363)\n" - + "\tat org.junit.runners.Suite.runChild(Suite.java:128)\n" - + "\tat org.junit.runners.Suite.runChild(Suite.java:27)\n" - + "\tat org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)\n" - + "\tat org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)\n" - + "\tat org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)\n" - + "\tat org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)\n" - + "\tat org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)\n" - + "\tat org.junit.runners.ParentRunner.run(ParentRunner.java:363)\n" - + "\tat org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:272)\n" - + "\tat org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:167)\n" - + "\tat org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:147)\n" - + "\tat org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:130)\n" - + "\tat org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:211)\n" - + "\tat org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:163)\n" - + "\tat org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:105)\n" - + "\tCaused by: java.lang.IndexOutOfBoundsException\n" - + "\tat surefire.MyTest.failure(MyTest.java:33)\n" - + "\tat surefire.MyTest.access$100(MyTest.java:9)\n" - + "\tat surefire.MyTest$Nested.run(MyTest.java:38)\n" - + "\tat surefire.MyTest.delegate(MyTest.java:29)\n" - + "\tat surefire.MyTest.rethrownDelegate(MyTest.java:22)" - + "</pre>" ) ) ); + assertThat( htmlContent, containsString( toSystemNewLine( + "<pre>" + "java.lang.RuntimeException: java.lang.IndexOutOfBoundsException\n" + + "\tat surefire.MyTest.rethrownDelegate(MyTest.java:24)\n" + + "\tat surefire.MyTest.newRethrownDelegate(MyTest.java:17)\n" + + "\tat surefire.MyTest.access$200(MyTest.java:9)\n" + "\tat surefire.MyTest$A.t(MyTest.java:45)\n" + + "\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n" + + "\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\n" + + "\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n" + + "\tat java.lang.reflect.Method.invoke(Method.java:606)\n" + + "\tat org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)\n" + + "\tat org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)\n" + + "\tat org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)\n" + + "\tat org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)\n" + + "\tat org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)\n" + + "\tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)\n" + + "\tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)\n" + + "\tat org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)\n" + + "\tat org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)\n" + + "\tat org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)\n" + + "\tat org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)\n" + + "\tat org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)\n" + + "\tat org.junit.runners.ParentRunner.run(ParentRunner.java:363)\n" + + "\tat org.junit.runners.Suite.runChild(Suite.java:128)\n" + + "\tat org.junit.runners.Suite.runChild(Suite.java:27)\n" + + "\tat org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)\n" + + "\tat org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)\n" + + "\tat org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)\n" + + "\tat org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)\n" + + "\tat org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)\n" + + "\tat org.junit.runners.ParentRunner.run(ParentRunner.java:363)\n" + + "\tat org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:272)\n" + + "\tat org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:167)\n" + + "\tat org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:147)\n" + + "\tat org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:130)\n" + + "\tat org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:211)\n" + + "\tat org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:163)\n" + + "\tat org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:105)\n" + + "\tCaused by: java.lang.IndexOutOfBoundsException\n" + + "\tat surefire.MyTest.failure(MyTest.java:33)\n" + "\tat surefire.MyTest.access$100(MyTest.java:9)\n" + + "\tat surefire.MyTest$Nested.run(MyTest.java:38)\n" + + "\tat surefire.MyTest.delegate(MyTest.java:29)\n" + + "\tat surefire.MyTest.rethrownDelegate(MyTest.java:22)" + "</pre>" ) ) ); } /** @@ -582,19 +646,4 @@ public class SurefireReportMojoTest IOUtil.close( writer ); } } - - private String toSystemNewLine( String s ) - { - String newLine = System.getProperty("line.separator"); - StringBuilder b = new StringBuilder( s ); - for ( int i = 0; i < b.length(); i++ ) - { - if ( b.charAt( i ) == '\n' ) - { - b.deleteCharAt( i ).insert( i, newLine ); - i += newLine.length() - 1; - } - } - return b.toString(); - } } http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/789252c9/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/Utils.java ---------------------------------------------------------------------- diff --git a/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/Utils.java b/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/Utils.java new file mode 100644 index 0000000..8fd91bf --- /dev/null +++ b/maven-surefire-report-plugin/src/test/java/org/apache/maven/plugins/surefire/report/Utils.java @@ -0,0 +1,43 @@ +package org.apache.maven.plugins.surefire.report; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +public final class Utils +{ + private Utils() + { + } + + public static String toSystemNewLine( String s ) + { + String newLine = System.getProperty( "line.separator" ); + StringBuilder b = new StringBuilder( s ); + for ( int i = 0; i < b.length(); i++ ) + { + if ( b.charAt( i ) == '\n' ) + { + b.deleteCharAt( i ) + .insert( i, newLine ); + i += newLine.length() - 1; + } + } + return b.toString(); + } +}