diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 8e1c27b0d..7892e8675 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -219,4 +219,5 @@ Wolfgang Werner
Wolf Siberski
Yohann Roussel
Yuji Yamano
+Yves Martin
Zdenek Wagner
diff --git a/WHATSNEW b/WHATSNEW
index 4771b4229..bedfd6846 100644
--- a/WHATSNEW
+++ b/WHATSNEW
@@ -378,6 +378,9 @@ Fixed bugs:
* Get with usetimestamp did not work when local timestamp roughly >= now.
+* The framed JUnit report now handles multiple reports for the same
+ testcase properly. Bugzilla Report 32745.
+
Changes from Ant 1.6.1 to Ant 1.6.2
===================================
diff --git a/src/etc/junit-frames.xsl b/src/etc/junit-frames.xsl
index fe5eef758..4a1157840 100644
--- a/src/etc/junit-frames.xsl
+++ b/src/etc/junit-frames.xsl
@@ -6,7 +6,7 @@
-
+
-
+
-
+
@@ -262,7 +262,7 @@ h6 {
@@ -270,7 +270,7 @@ h6 {
@@ -325,7 +325,7 @@ h6 {
-
+
|
@@ -366,7 +366,7 @@ h6 {
/
- .html
+ _.html
@@ -612,7 +612,7 @@ h6 {
Pass
-
|
+ |
|
|
|
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLConstants.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLConstants.java
index 9a0f866c0..3b7c1a8d7 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLConstants.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLConstants.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2001,2004 The Apache Software Foundation
+ * Copyright 2001,2004-2005 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -86,6 +86,9 @@ public interface XMLConstants {
/** classname attribute for testcase elements */
String ATTR_CLASSNAME = "classname";
+ /** id attribute */
+ String ATTR_ID = "id";
+
/**
* timestamp of test cases
*/
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java
index 0a1cba417..096a5bfbb 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java
@@ -73,6 +73,9 @@ public class XMLResultAggregator extends Task implements XMLConstants {
/** the default file name: TESTS-TestSuites.xml */
public static final String DEFAULT_FILENAME = "TESTS-TestSuites.xml";
+ /** the current generated id */
+ protected int generatedId = 0;
+
/**
* Generate a report based on the document created by the merge.
* @return the report
@@ -220,6 +223,8 @@ public class XMLResultAggregator extends Task implements XMLConstants {
Element rootElement = doc.createElement(TESTSUITES);
doc.appendChild(rootElement);
+ generatedId = 0;
+
// get all files and add them to the document
File[] files = getFiles();
for (int i = 0; i < files.length; i++) {
@@ -234,6 +239,7 @@ public class XMLResultAggregator extends Task implements XMLConstants {
// make sure that this is REALLY a testsuite.
if (TESTSUITE.equals(elem.getNodeName())) {
addTestSuite(rootElement, elem);
+ generatedId++;
} else {
// issue a warning.
log("the file " + files[i]
@@ -278,6 +284,7 @@ public class XMLResultAggregator extends Task implements XMLConstants {
// modify the name attribute and set the package
copy.setAttribute(ATTR_NAME, classname);
copy.setAttribute(ATTR_PACKAGE, pkgName);
+ copy.setAttribute(ATTR_ID, Integer.toString(generatedId));
}
/**