[jboss-cvs] JBossAS SVN: r103472 - 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
Fri Apr 2 05:37:28 EDT 2010
Author: wolfc
Date: 2010-04-02 05:37:28 -0400 (Fri, 02 Apr 2010)
New Revision: 103472
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: keep track of the number of decorators that are bugging out
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-02 07:43:42 UTC (rev 103471)
+++ projects/ejb3/trunk/testsuite/src/main/java/org/jboss/ejb3/testsuite/ant/taskdefs/optional/junit/KnownIssuesXMLJUnitResultFormatter.java 2010-04-02 09:37:28 UTC (rev 103472)
@@ -44,7 +44,7 @@
}
private Hashtable testStarts;
- private long runCount = 0, failures = 0, errors = 0;
+ private long runCount = 0, failures = 0, errors = 0, decoratorRunCount = 0;
public KnownIssuesXMLJUnitResultFormatter()
{
@@ -90,7 +90,10 @@
// basically I'm doing the startTest before super.endTest calls me,
// that would screw up the runCount.
if(!testStarts.containsKey(test))
+ {
+ decoratorRunCount++;
super.startTest(test);
+ }
super.endTest(test);
}
@@ -99,7 +102,7 @@
{
long oldRunCount = suite.runCount();
assert runCount == oldRunCount : "runCount (" + runCount + ") != oldRunCount (" + oldRunCount + ")";
- assert (failures + errors) <= runCount : "(failures + errors) > runCount";
+ assert (failures + errors) <= (runCount + decoratorRunCount) : "(failures + errors) > (runCount + decoratorRunCount)";
suite.setCounts(runCount, failures, errors);
super.endTestSuite(suite);
}
@@ -123,6 +126,7 @@
runCount = 0;
failures = 0;
errors = 0;
+ decoratorRunCount = 0;
super.startTestSuite(suite);
}
}
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-02 07:43:42 UTC (rev 103471)
+++ projects/ejb3/trunk/testsuite/src/test/java/org/jboss/ejb3/testsuite/TestSetupErrorTestCase.java 2010-04-02 09:37:28 UTC (rev 103472)
@@ -35,12 +35,17 @@
*/
public class TestSetupErrorTestCase
{
+ private static void assertAssertions()
+ {
+ boolean assertions = false;
+ assert assertions = true;
+ assertTrue("please enable assertions", assertions);
+ }
+
@Test
public void testError()
{
- boolean assertions = false;
- assert assertions = true;
- assertTrue("please enable assertions", assertions);
+ assertAssertions();
KnownIssuesXMLJUnitResultFormatter formatter = new KnownIssuesXMLJUnitResultFormatter();
formatter.setOutput(System.out);
@@ -63,4 +68,64 @@
formatter.addError(other, new Exception("not important"));
formatter.endTestSuite(suite);
}
+
+ /**
+ * What if the regular test fails and some TestDecorator errors.
+ */
+ @Test
+ public void testErrorAndError()
+ {
+ assertAssertions();
+
+ KnownIssuesXMLJUnitResultFormatter formatter = new KnownIssuesXMLJUnitResultFormatter();
+ formatter.setOutput(System.out);
+ JUnitTest suite = new JUnitTest("testFailureAndError");
+ // we're going to run 1 test
+ suite.setCounts(1, 0, 0);
+ formatter.startTestSuite(suite);
+ junit.framework.TestCase test = mock(junit.framework.TestCase.class);
+ when(test.countTestCases()).thenReturn(1);
+ when(test.getName()).thenReturn("testError");
+ // start test
+ formatter.startTest(test);
+ // error the test
+ formatter.addError(test, new Exception("not important"));
+ // oops an error afterwards
+ // 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);
+ }
+
+ /**
+ * What if the regular test fails and some TestDecorator errors.
+ */
+ @Test
+ public void testFailureAndError()
+ {
+ assertAssertions();
+
+ KnownIssuesXMLJUnitResultFormatter formatter = new KnownIssuesXMLJUnitResultFormatter();
+ formatter.setOutput(System.out);
+ JUnitTest suite = new JUnitTest("testFailureAndError");
+ // we're going to run 1 test
+ suite.setCounts(1, 0, 0);
+ formatter.startTestSuite(suite);
+ junit.framework.TestCase test = mock(junit.framework.TestCase.class);
+ when(test.countTestCases()).thenReturn(1);
+ when(test.getName()).thenReturn("testError");
+ // start test
+ formatter.startTest(test);
+ // fail test
+ formatter.addFailure(test, new AssertionError("not important"));
+ // oops an error afterwards
+ // 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