[jboss-svn-commits] JBoss Common SVN: r3714 - arquillian/trunk/junit/src/main/java/org/jboss/arquillian/junit.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Nov 15 10:29:06 EST 2009


Author: aslak
Date: 2009-11-15 10:29:06 -0500 (Sun, 15 Nov 2009)
New Revision: 3714

Modified:
   arquillian/trunk/junit/src/main/java/org/jboss/arquillian/junit/Arquillian.java
Log:
ARQ-17 Moved container start/stop to constructor/shudownhook to avoid container start up being a part of unit test time

Modified: arquillian/trunk/junit/src/main/java/org/jboss/arquillian/junit/Arquillian.java
===================================================================
--- arquillian/trunk/junit/src/main/java/org/jboss/arquillian/junit/Arquillian.java	2009-11-15 15:27:23 UTC (rev 3713)
+++ arquillian/trunk/junit/src/main/java/org/jboss/arquillian/junit/Arquillian.java	2009-11-15 15:29:06 UTC (rev 3714)
@@ -18,6 +18,7 @@
 
 import java.lang.reflect.Method;
 
+import java.util.Arrays;
 import java.util.List;
 
 import org.jboss.arquillian.api.TestMethodExecutor;
@@ -51,7 +52,33 @@
    public Arquillian(Class<?> klass) throws InitializationError
    {
       super(klass);
-      deployableTest = DeployableTestBuilder.build(null);
+      if(deployableTest == null) 
+      {
+         deployableTest = DeployableTestBuilder.build(null);
+         try 
+         {
+            deployableTest.getContainerController().start();
+         } 
+         catch (Exception e) 
+         {
+            throw new InitializationError(Arrays.asList((Throwable)e));
+         }
+      }
+      Runtime.getRuntime().addShutdownHook(new Thread() {
+         @Override
+         public void run()
+         {
+            try  
+            {
+               deployableTest.getContainerController().stop();
+            } 
+            catch (Exception e) 
+            {
+               // TODO: stops container, but complains about wrong state ? 
+               //throw new RuntimeException("Could not stop contianer", e);
+            }
+         }
+      });
    }
 
 
@@ -108,8 +135,7 @@
              
                archive = ear;
             }
-            
-            deployableTest.getContainerController().start();
+
             deployableTest.getDeployer().deploy(archive);
             originalStatement.evaluate();
          }
@@ -127,7 +153,6 @@
          {
             originalStatement.evaluate();
             deployableTest.getDeployer().undeploy(archive);
-            deployableTest.getContainerController().stop();
          }
       };
    }



More information about the jboss-svn-commits mailing list