diff --git surefire-api/src/main/java/org/apache/maven/surefire/report/ReportEntry.java surefire-api/src/main/java/org/apache/maven/surefire/report/ReportEntry.java index 8794745..ead79e0 100644 --- surefire-api/src/main/java/org/apache/maven/surefire/report/ReportEntry.java +++ surefire-api/src/main/java/org/apache/maven/surefire/report/ReportEntry.java @@ -30,4 +30,6 @@ public interface ReportEntry public StackTraceWriter getStackTraceWriter(); public Integer getElapsed(); + + public void setElapsed(Integer i); } diff --git surefire-api/src/main/java/org/apache/maven/surefire/report/SimpleReportEntry.java surefire-api/src/main/java/org/apache/maven/surefire/report/SimpleReportEntry.java index 63ea002..369b66a 100644 --- surefire-api/src/main/java/org/apache/maven/surefire/report/SimpleReportEntry.java +++ surefire-api/src/main/java/org/apache/maven/surefire/report/SimpleReportEntry.java @@ -31,7 +31,7 @@ public class SimpleReportEntry private final StackTraceWriter stackTraceWriter; - private final Integer elapsed; + private Integer elapsed; public SimpleReportEntry( String source, String name ) { @@ -103,7 +103,11 @@ public class SimpleReportEntry return elapsed; } - public String toString() + public void setElapsed(Integer i) { + elapsed = i; + } + + public String toString() { return "ReportEntry{" + "source='" + source + '\'' + ", name='" + name + '\'' + ", stackTraceWriter=" + stackTraceWriter + ", elapsed=" + elapsed + '}'; diff --git surefire-api/src/main/java/org/apache/maven/surefire/report/XMLReporter.java surefire-api/src/main/java/org/apache/maven/surefire/report/XMLReporter.java index 0d3df78..7643c30 100644 --- surefire-api/src/main/java/org/apache/maven/surefire/report/XMLReporter.java +++ surefire-api/src/main/java/org/apache/maven/surefire/report/XMLReporter.java @@ -97,7 +97,7 @@ public class XMLReporter { super.testSetCompleted( report ); - long runTime = System.currentTimeMillis() - testSetStartTime; + long runTime = report.getElapsed().intValue(); Xpp3Dom testSuite = createTestSuiteElement( report, runTime ); diff --git surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/TestMethod.java surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/TestMethod.java index bec5983..20a8df4 100644 --- surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/TestMethod.java +++ surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/TestMethod.java @@ -19,10 +19,7 @@ package org.apache.maven.surefire.junitcore; * under the License. */ -import org.apache.maven.surefire.report.ConsoleOutputReceiver; -import org.apache.maven.surefire.report.ConsoleOutputReceiverForCurrentThread; -import org.apache.maven.surefire.report.ReportEntry; -import org.apache.maven.surefire.report.RunListener; +import org.apache.maven.surefire.report.*; /** * Represents the test-state of a single test method that is run. @@ -78,10 +75,15 @@ class TestMethod setEndTime(); } - private void setEndTime() - { - this.endTime = System.currentTimeMillis(); - } + private void setEndTime() { + this.endTime = System.currentTimeMillis(); + + Integer totalTime = new Integer((int) (endTime - startTime)); + if (ignored != null) ignored.setElapsed(totalTime); + if (testFailure != null) testFailure.setElapsed(totalTime); + if (testError != null) testError.setElapsed(totalTime); + if (description != null) description.setElapsed(totalTime); + } public int getElapsed() {