Author: jkf Date: Sat Jul 8 06:27:33 2006 New Revision: 420106 URL: http://svn.apache.org/viewvc?rev=420106&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 ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitVersionHelper.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=420106&r1=420105&r2=420106&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 06:27:33 2006 @@ -1336,7 +1336,7 @@ */ private void logTimeout(FormatterElement[] feArray, JUnitTest test) { - logVmExit(feArray, test, "Timeout occurred."); + logVmExit(feArray, test, "Timeout occurred. Please note the time in the report does not reflect the time until the timeout."); } /** @@ -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. Please note the time in the report does not reflect the time until the VM exit."); } /** @@ -1375,38 +1375,28 @@ for (int i = 0; i < feArray.length; i++) { FormatterElement fe = feArray[i]; File outFile = getOutput(fe, test); - JUnitTaskMirror.JUnitResultFormatterMirror formatter = + JUnitTaskMirror.JUnitResultFormatterMirror formatter = fe.createFormatter(classLoader); if (outFile != null && formatter != null) { try { OutputStream out = new FileOutputStream(outFile); - addVmExit(test, formatter, out, message); + delegate.addVmExit(test, formatter, out, message); } catch (IOException e) { // ignore } } } if (summary) { - JUnitTaskMirror.SummaryJUnitResultFormatterMirror f = + JUnitTaskMirror.SummaryJUnitResultFormatterMirror f = delegate.newSummaryJUnitResultFormatter(); f.setWithOutAndErr("withoutanderr".equalsIgnoreCase(summaryValue)); - addVmExit(test, f, getDefaultOutput(), message); + delegate.addVmExit(test, f, getDefaultOutput(), message); } } finally { if (classLoader != null) { classLoader.resetThreadContextLoader(); } } - } - - /** - * Adds the actual error message to the formatter. - * Only used from the logVmExit method. - * @since Ant 1.7 - */ - private void addVmExit(JUnitTest test, JUnitTaskMirror.JUnitResultFormatterMirror formatter, - OutputStream out, final String message) { - delegate.addVmExit(test, formatter, out, message); } /** 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=420106&r1=420105&r2=420106&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 06:27:33 2006 @@ -38,9 +38,9 @@ this.task = task; } - public void addVmExit(JUnitTest test, JUnitTaskMirror.JUnitResultFormatterMirror _formatter, + public void addVmExit(JUnitTest test, JUnitTaskMirror.JUnitResultFormatterMirror aFormatter, OutputStream out, final String message) { - JUnitResultFormatter formatter = (JUnitResultFormatter) _formatter; + JUnitResultFormatter formatter = (JUnitResultFormatter) aFormatter; formatter.setOutput(out); formatter.startTestSuite(test); //the trick to integrating test output to the formatter, is to @@ -81,7 +81,7 @@ throw new AssertionFailedError(message); } - public String getName() { + String getClassName() { return test.getName(); } Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitVersionHelper.java URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitVersionHelper.java?rev=420106&r1=420105&r2=420106&view=diff ============================================================================== --- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitVersionHelper.java (original) +++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitVersionHelper.java Sat Jul 8 06:27:33 2006 @@ -24,7 +24,6 @@ /** * Work around for some changes to the public JUnit API between * different JUnit releases. - * */ public class JUnitVersionHelper { @@ -99,6 +98,9 @@ */ static String getTestCaseClassName(Test test) { String className = test.getClass().getName(); + if (test instanceof JUnitTaskMirrorImpl.VmExitErrorTest) { + className = ((JUnitTaskMirrorImpl.VmExitErrorTest) test).getClassName(); + } else if (className.equals("junit.framework.JUnit4TestCaseFacade")) { // JUnit 4 wraps solo tests this way. We can extract // the original test name with a little hack. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]