You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by mc...@apache.org on 2004/07/09 04:43:38 UTC

svn commit: rev 22746 - avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks

Author: mcconnell
Date: Thu Jul  8 19:43:38 2004
New Revision: 22746

Modified:
   avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JUnitTestTask.java
Log:
Add ant concat handling following suggestion from Sebastian Bazley concerning generation of unit test reports when running under gump.

Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JUnitTestTask.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JUnitTestTask.java	(original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/tasks/JUnitTestTask.java	Thu Jul  8 19:43:38 2004
@@ -24,10 +24,12 @@
 import org.apache.tools.ant.taskdefs.Copy;
 import org.apache.tools.ant.taskdefs.Exit;
 import org.apache.tools.ant.taskdefs.Javac;
+import org.apache.tools.ant.taskdefs.Concat;
 import org.apache.tools.ant.taskdefs.optional.junit.BatchTest;
 import org.apache.tools.ant.taskdefs.optional.junit.FormatterElement;
 import org.apache.tools.ant.taskdefs.optional.junit.JUnitTask;
 import org.apache.tools.ant.types.Environment;
+import org.apache.tools.ant.types.FileList;
 import org.apache.tools.ant.types.FileSet;
 import org.apache.tools.ant.types.Path;
 
@@ -149,14 +151,6 @@
         }
     }
 
-    private void fail( final String message )
-    {
-        final Exit exit = (Exit) getProject().createTask( "fail" );
-        exit.setMessage( message );
-        exit.init();
-        exit.execute();
-    }
-
     private void copyUnitTestResource( final File dest )
     {
         final File build = getContext().getBuildDirectory();
@@ -339,5 +333,54 @@
         {
             return Project.toBoolean( value );
         }
+    }
+
+    private void fail( final String message )
+    {
+        final File reports = getContext().getTestReportsDirectory();
+        if( reports.exists() && getHome().isGump() )
+        {
+            FileSet list = new FileSet();
+            list.setDir( reports );
+            list.setIncludes( "**/*.txt" );
+
+            Concat concat = (Concat) getProject().createTask( "concat" );
+            concat.addFileset( list );
+            concat.addHeader( getHeader() );
+            concat.addFooter( getFooter() );
+            concat.setTaskName( getTaskName() );
+            concat.init();
+            concat.execute();
+        }
+
+        final Exit exit = (Exit) getProject().createTask( "fail" );
+        exit.setMessage( message );
+        exit.init();
+        exit.execute();
+    }
+
+    private Concat.TextElement getHeader()
+    {
+        Concat.TextElement header = new Concat.TextElement();
+        header.setProject( getProject() );
+        header.addText(
+    "-------------------------------------------------------------------------------" 
++ "\n One or more errors occured during unit tests."
++ "\n Listing error reports."
++ "\n-------------------------------------------------------------------------------" 
++ "\n" );
+        return header;
+    }
+
+    private Concat.TextElement getFooter()
+    {
+        Concat.TextElement footer = new Concat.TextElement();
+        footer.setProject( getProject() );
+        footer.addText(
+    "-------------------------------------------------------------------------------"
++ "\nEnd of Listing."
++ "\n-------------------------------------------------------------------------------" 
++ "\n" );
+        return footer;
     }
 }

---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org