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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed May 5 08:23:53 EDT 2010


Author: aslak
Date: 2010-05-05 08:23:53 -0400 (Wed, 05 May 2010)
New Revision: 4351

Modified:
   arquillian/trunk/junit/src/main/java/org/jboss/arquillian/junit/Arquillian.java
Log:
ARQ-106 Changed to call AfterSuite in RunListener.testRunFinished


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	2010-05-05 11:21:42 UTC (rev 4350)
+++ arquillian/trunk/junit/src/main/java/org/jboss/arquillian/junit/Arquillian.java	2010-05-05 12:23:53 UTC (rev 4351)
@@ -28,6 +28,9 @@
 import org.jboss.arquillian.spi.TestResult;
 import org.jboss.arquillian.spi.TestRunnerAdaptor;
 import org.jboss.arquillian.spi.util.TestEnrichers;
+import org.junit.runner.Result;
+import org.junit.runner.notification.RunListener;
+import org.junit.runner.notification.RunNotifier;
 import org.junit.runners.BlockJUnit4ClassRunner;
 import org.junit.runners.model.FrameworkMethod;
 import org.junit.runners.model.InitializationError;
@@ -58,26 +61,32 @@
          {
             throw new InitializationError(Arrays.asList((Throwable)e));
          }
-         // TODO: The JVM is never shutdown, hook never called. Figure out how to kill it
-         Runtime.getRuntime().addShutdownHook(new Thread() 
+      }
+   }
+   
+   @Override
+   public void run(RunNotifier notifier)
+   {
+      // register to listen for RunFinished to exeucte AfterSuite
+      notifier.addListener(new RunListener() 
+      {
+         @Override
+         public void testRunFinished(Result result) throws Exception
          {
-            @Override
-            public void run()
+            try  
             {
-               try  
+               if(deployableTest.get() != null) 
                {
-                  if(deployableTest.get() != null) 
-                  {
-                     deployableTest.get().beforeSuite();
-                  }
-               } 
-               catch (Exception e) 
-               {
-                  throw new RuntimeException("Could not stop container", e);
+                  deployableTest.get().afterSuite();
                }
+            } 
+            catch (Exception e) 
+            {
+               throw new RuntimeException("Could not stop container", e);
             }
-         });
-      }
+         }
+      });
+      super.run(notifier);
    }
 
    @Override



More information about the jboss-svn-commits mailing list