Author: dfabulich
Date: Thu Jan 24 14:38:04 2008
New Revision: 615070

URL: http://svn.apache.org/viewvc?rev=615070&view=rev
Log:
[SUREFIRE-433] Attach "classname" attribute to <testcase> elements, the way Ant 
1.7 and TestNG do, so it's possible to tease apart multi-class test suites.  
You could argue that this, together with revision 615068, fixes SUREFIRE-433, 
but I think that's still up for some debate.

Modified:
    
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/XMLReporter.java

Modified: 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/XMLReporter.java
URL: 
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/XMLReporter.java?rev=615070&r1=615069&r2=615070&view=diff
==============================================================================
--- 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/XMLReporter.java
 (original)
+++ 
maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/report/XMLReporter.java
 Thu Jan 24 14:38:04 2008
@@ -73,7 +73,7 @@
 
         long runTime = System.currentTimeMillis() - testSetStartTime;
 
-        Xpp3Dom testSuite = createTestElement( "testsuite", report, runTime );
+        Xpp3Dom testSuite = createTestSuiteElement( report, runTime );
 
         showProperties( testSuite );
 
@@ -144,14 +144,30 @@
 
         long runTime = this.endTime - this.startTime;
 
-        Xpp3Dom testCase = createTestElement( "testcase", report, runTime );
+        Xpp3Dom testCase = createTestElement( report, runTime );
 
         results.add( testCase );
     }
 
-    private Xpp3Dom createTestElement( String name, ReportEntry report, long 
runTime )
+    private Xpp3Dom createTestElement( ReportEntry report, long runTime )
     {
-        Xpp3Dom testCase = new Xpp3Dom( name );
+        Xpp3Dom testCase = new Xpp3Dom( "testcase" );
+        testCase.setAttribute( "name", getReportName( report ) );
+        if ( report.getGroup() != null )
+        {
+            testCase.setAttribute( "group", report.getGroup() );
+        }
+        if ( report.getSource() != null )
+        {
+            testCase.setAttribute( "classname", 
report.getSource().getClass().getName() );
+        }
+        testCase.setAttribute( "time", elapsedTimeAsString( runTime ) );
+        return testCase;
+    }
+    
+    private Xpp3Dom createTestSuiteElement( ReportEntry report, long runTime )
+    {
+        Xpp3Dom testCase = new Xpp3Dom( "testsuite" );
         testCase.setAttribute( "name", getReportName( report ) );
         if ( report.getGroup() != null )
         {
@@ -185,7 +201,7 @@
     {
         long runTime = endTime - startTime;
 
-        Xpp3Dom testCase = createTestElement( "testcase", report, runTime );
+        Xpp3Dom testCase = createTestElement( report, runTime );
 
         Xpp3Dom element = createElement( testCase, name );
 


Reply via email to