You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2011/05/18 02:26:38 UTC

svn commit: r1104638 - /cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/DICase.java

Author: aadamchik
Date: Wed May 18 00:26:37 2011
New Revision: 1104638

URL: http://svn.apache.org/viewvc?rev=1104638&view=rev
Log:
fixing DICase - when one test case fails, it shouldn't take down a bunch of following cases

Modified:
    cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/DICase.java

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/DICase.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/DICase.java?rev=1104638&r1=1104637&r2=1104638&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/DICase.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/unit/di/DICase.java Wed May 18 00:26:37 2011
@@ -33,7 +33,27 @@ public abstract class DICase extends Tes
     @Override
     protected final void setUp() throws Exception {
         getUnitTestInjector().getInstance(UnitTestLifecycleManager.class).setUp(this);
-        setUpAfterInjection();
+
+        try {
+            setUpAfterInjection();
+        }
+        catch (Exception e) {
+
+            // must stop the lifecycle manager (do the same thing we'd normally do in
+            // 'tearDown' ), otherwise following tests will end up in
+            // a bad state
+
+            try {
+                getUnitTestInjector()
+                        .getInstance(UnitTestLifecycleManager.class)
+                        .tearDown(this);
+            }
+            catch (Exception x) {
+                // swallow...
+            }
+
+            throw e;
+        }
     }
 
     @Override