Author: mcconnell
Date: Mon Jun  7 14:19:19 2004
New Revision: 20887

Modified:
   
avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/tasks/JUnitTestTask.java
Log:
Add error and failure handlers.

Modified: 
avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/tasks/JUnitTestTask.java
==============================================================================
--- 
avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/tasks/JUnitTestTask.java
   (original)
+++ 
avalon/trunk/tools/project/core/src/main/org/apache/avalon/tools/tasks/JUnitTestTask.java
   Mon Jun  7 14:19:19 2004
@@ -29,6 +29,7 @@
 import org.apache.tools.ant.taskdefs.optional.junit.FormatterElement;
 import org.apache.tools.ant.taskdefs.optional.junit.JUnitTask;
 import org.apache.tools.ant.taskdefs.optional.junit.BatchTest;
+import org.apache.tools.ant.taskdefs.Exit;
 import org.apache.tools.ant.types.Environment;
 import org.apache.tools.ant.types.FileSet;
 import org.apache.tools.ant.types.Path;
@@ -130,14 +131,34 @@
             test( src, classpath, temp );
         }
 
-        System.out.println( 
-           "error: [" 
-           + project.getProperty( ERROR_KEY ) 
-           + "]" ); 
-        System.out.println( 
-           "failure: [" 
-           + project.getProperty( FAILURE_KEY ) 
-           + "]" );
+        String error = project.getProperty( ERROR_KEY );
+        if( null != error )
+        {
+            if( getHaltOnErrorProperty() )
+            {
+                final String message = 
+                  "One or more unit test errors occured.";
+                fail( message );
+            }
+        }
+        String failure = project.getProperty( FAILURE_KEY );
+        if( null != failure )
+        {
+            if( getHaltOnFailureProperty() )
+            {
+                final String message = 
+                  "One or more unit test failures occured.";
+                fail( message );
+            }
+        }
+    }
+
+    private void fail( String message )
+    {
+        Exit exit = (Exit) getProject().createTask( "fail" );
+        exit.setMessage( message );
+        exit.init();
+        exit.execute();
     }
 
     private void copyUnitTestResource( File dest )
@@ -262,6 +283,16 @@
     private boolean getDebugProperty()
     {
         return getBooleanProperty( DEBUG_KEY, DEBUG_VALUE );
+    }
+
+    private boolean getHaltOnErrorProperty()
+    {
+        return getBooleanProperty( HALT_ON_ERROR_KEY, HALT_ON_ERROR_VALUE );
+    }
+
+    private boolean getHaltOnFailureProperty()
+    {
+        return getBooleanProperty( HALT_ON_FAILURE_KEY, HALT_ON_FAILURE_VALUE 
);
     }
 
     private boolean getForkProperty()

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to