bodewig 2003/03/28 04:20:51
Modified: . WHATSNEW
src/main/org/apache/tools/ant/taskdefs/optional/junit
XMLJUnitResultFormatter.java
Log:
The xml formatter for JUnit will now honor test case names set with
setName
PR: 17040
Revision Changes Path
1.379 +3 -0 ant/WHATSNEW
Index: WHATSNEW
===================================================================
RCS file: /home/cvs/ant/WHATSNEW,v
retrieving revision 1.378
retrieving revision 1.379
diff -u -r1.378 -r1.379
--- WHATSNEW 28 Mar 2003 08:28:15 -0000 1.378
+++ WHATSNEW 28 Mar 2003 12:20:50 -0000 1.379
@@ -195,6 +195,9 @@
* Copy has a new outputencoding attribute that can be used to change
the encoding while copying files. Bugzilla Report 18217.
+* The xml formatter for JUnit will now honor test case names set with
+ setName. Bugzilla Report 17040.
+
Changes from Ant 1.5.2 to Ant 1.5.3
===================================
1.27 +18 -11
ant/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLJUnitResultFormatter.java
Index: XMLJUnitResultFormatter.java
===================================================================
RCS file:
/home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLJUnitResultFormatter.java,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- XMLJUnitResultFormatter.java 7 Mar 2003 11:23:06 -0000 1.26
+++ XMLJUnitResultFormatter.java 28 Mar 2003 12:20:51 -0000 1.27
@@ -1,7 +1,7 @@
/*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2000-2002 The Apache Software Foundation. All rights
+ * Copyright (c) 2000-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -104,6 +104,10 @@
*/
private Hashtable testElements = new Hashtable();
/**
+ * tests that failed.
+ */
+ private Hashtable failedTests = new Hashtable();
+ /**
* Timing helper.
*/
private Hashtable testStarts = new Hashtable();
@@ -186,12 +190,6 @@
*/
public void startTest(Test t) {
testStarts.put(t, new Long(System.currentTimeMillis()));
-
- Element currentTest = doc.createElement(TESTCASE);
- currentTest.setAttribute(ATTR_NAME,
- JUnitVersionHelper.getTestCaseName(t));
- rootElement.appendChild(currentTest);
- testElements.put(t, currentTest);
}
/**
@@ -200,16 +198,24 @@
* <p>A Test is finished.
*/
public void endTest(Test test) {
- Element currentTest = (Element) testElements.get(test);
-
// Fix for bug #5637 - if a junit.extensions.TestSetup is
// used and throws an exception during setUp then startTest
// would never have been called
- if (currentTest == null) {
+ if (!testStarts.containsKey(test)) {
startTest(test);
+ }
+
+ Element currentTest = null;
+ if (!failedTests.containsKey(test)) {
+ currentTest = doc.createElement(TESTCASE);
+ currentTest.setAttribute(ATTR_NAME,
+
JUnitVersionHelper.getTestCaseName(test));
+ rootElement.appendChild(currentTest);
+ testElements.put(test, currentTest);
+ } else {
currentTest = (Element) testElements.get(test);
}
-
+
Long l = (Long) testStarts.get(test);
currentTest.setAttribute(ATTR_TIME,
"" + ((System.currentTimeMillis() - l.longValue()) / 1000.0));
@@ -245,6 +251,7 @@
private void formatError(String type, Test test, Throwable t) {
if (test != null) {
endTest(test);
+ failedTests.put(test, test);
}
Element nested = doc.createElement(type);