Sorry, somewhat too early, futher commit will follow.

[EMAIL PROTECTED] schreef:

Author: jkf
Date: Sat Jul  8 05:30:43 2006
New Revision: 420102

URL: http://svn.apache.org/viewvc?rev=420102&view=rev
Log:
Give better information in case of timeout for JUnit test,as requested in Bug 
39946.

Modified:
   
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
   
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTaskMirrorImpl.java

Modified: 
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java?rev=420102&r1=420101&r2=420102&view=diff
==============================================================================
--- 
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
 (original)
+++ 
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
 Sat Jul  8 05:30:43 2006
@@ -1336,7 +1336,7 @@
     */

    private void logTimeout(FormatterElement[] feArray, JUnitTest test) {
-        logVmExit(feArray, test, "Timeout occurred");
+        logVmExit(feArray, test, "Timeout occurred.");
    }

    /**
@@ -1347,7 +1347,7 @@
     * @since Ant 1.7
     */
    private void logVmCrash(FormatterElement[] feArray, JUnitTest test) {
-        logVmExit(feArray, test, "forked Java VM exited abnormally");
+        logVmExit(feArray, test, "Forked Java VM exited abnormally.");
    }

    /**

Modified: 
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTaskMirrorImpl.java
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTaskMirrorImpl.java?rev=420102&r1=420101&r2=420102&view=diff
==============================================================================
--- 
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTaskMirrorImpl.java
 (original)
+++ 
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTaskMirrorImpl.java
 Sat Jul  8 05:30:43 2006
@@ -19,7 +19,7 @@

import java.io.OutputStream;
import junit.framework.AssertionFailedError;
-import junit.framework.Test;
+import junit.framework.TestCase;
import junit.framework.TestResult;
import org.apache.tools.ant.AntClassLoader;

@@ -31,28 +31,22 @@
 * @since 1.7
 */
public final class JUnitTaskMirrorImpl implements JUnitTaskMirror {
- +
    private final JUnitTask task;
- +
    public JUnitTaskMirrorImpl(JUnitTask task) {
        this.task = task;
    }
- +
    public void addVmExit(JUnitTest test, 
JUnitTaskMirror.JUnitResultFormatterMirror _formatter,
            OutputStream out, final String message) {
        JUnitResultFormatter formatter = (JUnitResultFormatter) _formatter;
        formatter.setOutput(out);
        formatter.startTestSuite(test);
- //the trick to integrating test output to the formatter, is to
        //create a special test class that asserts an error
        //and tell the formatter that it raised.
-        Test t = new Test() {
-            public int countTestCases() { return 1; }
-            public void run(TestResult r) {
-                throw new AssertionFailedError(message);
-            }
-        };
+        TestCase t = new VmExitErrorTest(message, test);
        formatter.startTest(t);
        formatter.addError(t, new AssertionFailedError(message));
        formatter.endTestSuite(test);
@@ -68,5 +62,31 @@
    public JUnitTaskMirror.SummaryJUnitResultFormatterMirror 
newSummaryJUnitResultFormatter() {
        return new SummaryJUnitResultFormatter();
    }
- +
+    static class VmExitErrorTest extends TestCase {
+
+        private String message;
+        private JUnitTest test;
+
+        VmExitErrorTest(String aMessage, JUnitTest anOriginalTest) {
+            message = aMessage;
+            test = anOriginalTest;
+        }
+
+        public int countTestCases() {
+            return 1;
+        }
+
+        public void run(TestResult r) {
+            throw new AssertionFailedError(message);
+        }
+
+        public String getName() {
+            return test.getName();
+        }
+
+        public String toString() {
+            return test.getName();
+        }
+    }
}



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



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

Reply via email to