[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