[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