[jboss-cvs] JBossAS SVN: r103449 - in projects/ejb3/trunk/testsuite/src: test/java/org/jboss/ejb3/testsuite and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Apr 1 12:47:38 EDT 2010
Author: wolfc
Date: 2010-04-01 12:47:37 -0400 (Thu, 01 Apr 2010)
New Revision: 103449
Modified:
projects/ejb3/trunk/testsuite/src/main/java/org/jboss/ejb3/testsuite/ant/taskdefs/optional/junit/KnownIssuesXMLJUnitResultFormatter.java
projects/ejb3/trunk/testsuite/src/test/java/org/jboss/ejb3/testsuite/TestSetupErrorTestCase.java
Log:
EJBTHREE-2067: augmenting hack for bug #5637 hack
Modified: projects/ejb3/trunk/testsuite/src/main/java/org/jboss/ejb3/testsuite/ant/taskdefs/optional/junit/KnownIssuesXMLJUnitResultFormatter.java
===================================================================
--- projects/ejb3/trunk/testsuite/src/main/java/org/jboss/ejb3/testsuite/ant/taskdefs/optional/junit/KnownIssuesXMLJUnitResultFormatter.java 2010-04-01 16:29:00 UTC (rev 103448)
+++ projects/ejb3/trunk/testsuite/src/main/java/org/jboss/ejb3/testsuite/ant/taskdefs/optional/junit/KnownIssuesXMLJUnitResultFormatter.java 2010-04-01 16:47:37 UTC (rev 103449)
@@ -30,6 +30,7 @@
import org.jboss.ejb3.testsuite.lang.reflect.Invoker;
import java.lang.reflect.Method;
+import java.util.Hashtable;
/**
* @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
@@ -41,12 +42,14 @@
static {
formatErrorMethod = Invoker.getMethod(XMLJUnitResultFormatter.class, "formatError", String.class, Test.class, Throwable.class);
}
-
+
+ private Hashtable testStarts;
private long runCount = 0, failures = 0, errors = 0;
public KnownIssuesXMLJUnitResultFormatter()
{
super();
+ this.testStarts = Invoker.getFieldValue(this, XMLJUnitResultFormatter.class, "testStarts");
}
@Override
@@ -79,8 +82,19 @@
}
throw new RuntimeException("Illegal action encountered " + action + " on test " + name);
}
-
+
@Override
+ public void endTest(Test test)
+ {
+ // counter-hack for #5637
+ // basically I'm doing the startTest before super.endTest calls me,
+ // that would screw up the runCount.
+ if(!testStarts.containsKey(test))
+ super.startTest(test);
+ super.endTest(test);
+ }
+
+ @Override
public void endTestSuite(JUnitTest suite) throws BuildException
{
long oldRunCount = suite.runCount();
Modified: projects/ejb3/trunk/testsuite/src/test/java/org/jboss/ejb3/testsuite/TestSetupErrorTestCase.java
===================================================================
--- projects/ejb3/trunk/testsuite/src/test/java/org/jboss/ejb3/testsuite/TestSetupErrorTestCase.java 2010-04-01 16:29:00 UTC (rev 103448)
+++ projects/ejb3/trunk/testsuite/src/test/java/org/jboss/ejb3/testsuite/TestSetupErrorTestCase.java 2010-04-01 16:47:37 UTC (rev 103449)
@@ -21,12 +21,14 @@
*/
package org.jboss.ejb3.testsuite;
+import junit.framework.TestCase;
import org.apache.tools.ant.taskdefs.optional.junit.JUnitTest;
import org.jboss.ejb3.testsuite.ant.taskdefs.optional.junit.KnownIssuesXMLJUnitResultFormatter;
import org.junit.Test;
import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.*;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
/**
* @author <a href="cdewolf at redhat.com">Carlo de Wolf</a>
@@ -54,7 +56,11 @@
// end test
formatter.endTest(test);
// oops an error afterwards
- formatter.addError(test, new Exception("not important"));
+ // this is how junit works
+ TestCase other = mock(TestCase.class); // usually the suite
+ when(other.countTestCases()).thenReturn(1);
+ when(other.getName()).thenReturn("teardown");
+ formatter.addError(other, new Exception("not important"));
formatter.endTestSuite(suite);
}
}
More information about the jboss-cvs-commits
mailing list