[jboss-cvs] JBossAS SVN: r90899 - in projects/kernel/trunk/kernel/src/test: resources and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jul 7 14:38:30 EDT 2009


Author: kabir.khan at jboss.com
Date: 2009-07-07 14:38:30 -0400 (Tue, 07 Jul 2009)
New Revision: 90899

Added:
   projects/kernel/trunk/kernel/src/test/java/org/jboss/test/kernel/asynchronous/test/AsynchronousAtDeploymentLevelTestCase.java
   projects/kernel/trunk/kernel/src/test/resources/org/jboss/test/kernel/asynchronous/test/AsynchronousAtDeploymentLevelTestCase.txt
   projects/kernel/trunk/kernel/src/test/resources/org/jboss/test/kernel/asynchronous/test/AsynchronousAtDeploymentLevelTestCase_NotAutomatic.xml
Modified:
   projects/kernel/trunk/kernel/src/test/java/org/jboss/test/kernel/asynchronous/test/AsynchronousTest.java
   projects/kernel/trunk/kernel/src/test/java/org/jboss/test/kernel/asynchronous/test/TwoParallelDeploymentsTestCase.java
   projects/kernel/trunk/kernel/src/test/resources/build.xml
Log:
[JBKERNEL-25] Test mode='Asynchronous' at deployment level

Added: projects/kernel/trunk/kernel/src/test/java/org/jboss/test/kernel/asynchronous/test/AsynchronousAtDeploymentLevelTestCase.java
===================================================================
--- projects/kernel/trunk/kernel/src/test/java/org/jboss/test/kernel/asynchronous/test/AsynchronousAtDeploymentLevelTestCase.java	                        (rev 0)
+++ projects/kernel/trunk/kernel/src/test/java/org/jboss/test/kernel/asynchronous/test/AsynchronousAtDeploymentLevelTestCase.java	2009-07-07 18:38:30 UTC (rev 90899)
@@ -0,0 +1,74 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors. 
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/ 
+package org.jboss.test.kernel.asynchronous.test;
+
+import java.util.List;
+
+import org.jboss.test.kernel.asynchronous.support.Helper;
+import org.jboss.test.kernel.asynchronous.support.Point;
+
+/**
+ * Using byteman to verify that several asynchronous contexts can be in the same lifecycle
+ * at the same time
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class AsynchronousAtDeploymentLevelTestCase extends AsynchronousTest
+{
+   public AsynchronousAtDeploymentLevelTestCase(String name)
+   {
+      super(name, 2);
+   }
+
+   public void testTwoParallelDeployments() throws Exception
+   {
+      deploy("TwoParallelDeploymentsTestCase_NotAutomatic.xml");
+      try
+      {
+         assertNotNull(getBean("Bean1"));
+         assertNotNull(getBean("Bean2"));
+
+         List<Point> points = Helper.getPoints();
+         assertEquals(points.toString(), 14, points.size());
+         
+         assertPoints("PreInstallAction", 0, 1);
+         assertPoints("DescribeAction", 2, 3);
+         assertPoints("InstantiateAction", 4, 5);
+         assertPoints("ConfigureAction", 6, 7);
+         assertPoints("create", 8, 9);
+         assertPoints("start", 10, 11);
+         assertPoints("InstallAction", 12, 13);
+      }
+      finally
+      {
+         undeploy("TwoParallelDeploymentsTestCase_NotAutomatic.xml");
+      }
+   }
+   
+   private void assertPoints(String name, int index1, int index2)
+   {
+      Point point1 = checkPoint(index1, name, false);
+      Point point2 = checkPoint(index2, name, false);
+      assertFalse(point1.getThreadName().equals(point2.getThreadName()));
+   }
+}

Modified: projects/kernel/trunk/kernel/src/test/java/org/jboss/test/kernel/asynchronous/test/AsynchronousTest.java
===================================================================
--- projects/kernel/trunk/kernel/src/test/java/org/jboss/test/kernel/asynchronous/test/AsynchronousTest.java	2009-07-07 17:37:25 UTC (rev 90898)
+++ projects/kernel/trunk/kernel/src/test/java/org/jboss/test/kernel/asynchronous/test/AsynchronousTest.java	2009-07-07 18:38:30 UTC (rev 90899)
@@ -73,7 +73,7 @@
       return point;
    }
 
-   protected void checkPoint(int index, String name, Boolean mainThread)
+   protected Point checkPoint(int index, String name, Boolean mainThread)
    {
       Point point = assertGetPoint(index);
       assertEquals(name, point.getName());
@@ -89,6 +89,7 @@
             assertFalse(mainThreadName.equals(point.getThreadName()));
          }
       }
+      return point;
    }
 
    protected AsynchronousTestDelegate getAsynchronousDelegate()

Modified: projects/kernel/trunk/kernel/src/test/java/org/jboss/test/kernel/asynchronous/test/TwoParallelDeploymentsTestCase.java
===================================================================
--- projects/kernel/trunk/kernel/src/test/java/org/jboss/test/kernel/asynchronous/test/TwoParallelDeploymentsTestCase.java	2009-07-07 17:37:25 UTC (rev 90898)
+++ projects/kernel/trunk/kernel/src/test/java/org/jboss/test/kernel/asynchronous/test/TwoParallelDeploymentsTestCase.java	2009-07-07 18:38:30 UTC (rev 90899)
@@ -67,12 +67,8 @@
    
    private void assertPoints(String name, int index1, int index2)
    {
-      Point point1 = assertGetPoint(index1);
-      Point point2 = assertGetPoint(index2);
-      assertEquals(name, point1.getName());
-      assertEquals(name, point2.getName());
-      assertNotNull(point1.getThreadName());
-      assertNotNull(point1.getThreadName());
+      Point point1 = checkPoint(index1, name, false);
+      Point point2 = checkPoint(index2, name, false);
       assertFalse(point1.getThreadName().equals(point2.getThreadName()));
    }
 }

Modified: projects/kernel/trunk/kernel/src/test/resources/build.xml
===================================================================
--- projects/kernel/trunk/kernel/src/test/resources/build.xml	2009-07-07 17:37:25 UTC (rev 90898)
+++ projects/kernel/trunk/kernel/src/test/resources/build.xml	2009-07-07 18:38:30 UTC (rev 90899)
@@ -24,6 +24,9 @@
       <antcall target="run-asynchronous-test" inheritrefs="true">
          <param name="test" value="AsynchronousContextWithDependencyOnOnDemandTestCase"/>
       </antcall>
+      <antcall target="run-asynchronous-test" inheritrefs="true">
+         <param name="test" value="AsynchronousAtDeploymentLevelTestCase"/>
+      </antcall>
    </target>
    
    <target name="run-asynchronous-test">

Added: projects/kernel/trunk/kernel/src/test/resources/org/jboss/test/kernel/asynchronous/test/AsynchronousAtDeploymentLevelTestCase.txt
===================================================================
--- projects/kernel/trunk/kernel/src/test/resources/org/jboss/test/kernel/asynchronous/test/AsynchronousAtDeploymentLevelTestCase.txt	                        (rev 0)
+++ projects/kernel/trunk/kernel/src/test/resources/org/jboss/test/kernel/asynchronous/test/AsynchronousAtDeploymentLevelTestCase.txt	2009-07-07 18:38:30 UTC (rev 90899)
@@ -0,0 +1,131 @@
+RULE Rendezvous on first thread execution
+CLASS org.jboss.dependency.plugins.AbstractController$InstallControllerContextTask 
+METHOD run
+HELPER org.jboss.test.kernel.asynchronous.support.Helper
+BIND NOTHING
+IF TRUE
+DO createRendezvous("Run", 2),
+   debug("rendezvous in AbstractController$InstallControllerContextTask"),
+   rendezvous("Run"),
+   debug("go!!!")
+ENDRULE
+
+RULE Wait for Complete following deploy on main thread
+CLASS org.jboss.test.kernel.junit.MicrocontainerTestDelegate 
+METHOD deploy(java.net.URL)
+HELPER org.jboss.test.kernel.asynchronous.support.Helper
+AT EXIT
+BIND NOTHING
+IF TRUE
+DO debug("wait in deploy"),
+   waitFor("Complete", 10000),
+   debug("go!!!")
+ENDRULE
+
+RULE Signal wake Complete following complete deploy in thread
+CLASS org.jboss.dependency.plugins.AbstractController$InstallControllerContextTask 
+METHOD run
+HELPER org.jboss.test.kernel.asynchronous.support.Helper
+AT EXIT
+BIND NOTHING
+IF TRUE
+DO createRendezvous("End", 2),
+   debug("End rendezvous in AbstractController$InstallControllerContextTask"),
+   rendezvous("End"),
+   debug("signalling wake in AbstractController$InstallControllerContextTask"),
+   signalWake("Complete"),
+   debug("signalled!")
+ENDRULE
+
+RULE Rendezvous in PreInstallAction
+CLASS org.jboss.kernel.plugins.dependency.PreInstallAction
+METHOD installActionInternal
+HELPER org.jboss.test.kernel.asynchronous.support.Helper
+BIND NOTHING
+IF TRUE
+DO createRendezvous("PreInstallAction", 2),
+   debug("rendezvous in PreInstallAction.installActionInternal"),
+   rendezvous("PreInstallAction"),
+   addPoint("PreInstallAction"),
+   debug("go!!!")
+ENDRULE
+
+RULE Rendezvous in DescribeAction
+CLASS org.jboss.kernel.plugins.dependency.DescribeAction
+METHOD installActionInternal
+HELPER org.jboss.test.kernel.asynchronous.support.Helper
+BIND NOTHING
+IF TRUE
+DO createRendezvous("DescribeAction", 2),
+   debug("rendezvous in DescribeAction.installActionInternal"),
+   rendezvous("DescribeAction"),
+   addPoint("DescribeAction"),
+   debug("go!!!")
+ENDRULE
+
+RULE Rendezvous in InstantiateAction
+CLASS org.jboss.kernel.plugins.dependency.InstantiateAction
+METHOD installActionInternal
+HELPER org.jboss.test.kernel.asynchronous.support.Helper
+BIND NOTHING
+IF TRUE
+DO createRendezvous("InstantiateAction", 2),
+   debug("rendezvous in InstantiateAction.installActionInternal"),
+   rendezvous("InstantiateAction"),
+   addPoint("InstantiateAction"),
+   debug("go!!!")
+ENDRULE
+
+RULE Rendezvous in ConfigureAction
+CLASS org.jboss.kernel.plugins.dependency.ConfigureAction
+METHOD installActionInternal
+HELPER org.jboss.test.kernel.asynchronous.support.Helper
+BIND NOTHING
+IF TRUE
+DO createRendezvous("ConfigureAction", 2),
+   debug("rendezvous in ConfigureAction.installActionInternal"),
+   rendezvous("ConfigureAction"),
+   addPoint("ConfigureAction"),
+   debug("go!!!")
+ENDRULE
+
+#We don't do this in the Action class since there is no point invoked once on install
+RULE Rendezvous in create
+CLASS org.jboss.test.kernel.asynchronous.support.BeanWithCreateStart
+METHOD create
+HELPER org.jboss.test.kernel.asynchronous.support.Helper
+BIND NOTHING
+IF TRUE
+DO createRendezvous("create", 2),
+   debug("rendezvous in BeanWithCreateStart.create"),
+   rendezvous("create"),
+   addPoint("create"),
+   debug("go!!!")
+ENDRULE
+
+#We don't do this in the Action class since there is no point invoked once on install
+RULE Rendezvous in StartStopLifecycleAction
+CLASS org.jboss.test.kernel.asynchronous.support.BeanWithCreateStart
+METHOD start
+HELPER org.jboss.test.kernel.asynchronous.support.Helper
+BIND NOTHING
+IF TRUE
+DO createRendezvous("start", 2),
+   debug("rendezvous in BeanWithCreateStart.start"),
+   rendezvous("start"),
+   addPoint("start"),
+   debug("go!!!")
+ENDRULE
+
+RULE Rendezvous in InstallAction
+CLASS org.jboss.kernel.plugins.dependency.InstallAction
+METHOD installActionInternal
+HELPER org.jboss.test.kernel.asynchronous.support.Helper
+BIND NOTHING
+IF TRUE
+DO createRendezvous("InstallAction", 2),
+   debug("rendezvous in InstallAction.installActionInternal"),
+   rendezvous("InstallAction"),
+   addPoint("InstallAction"),
+   debug("go!!!")
+ENDRULE

Added: projects/kernel/trunk/kernel/src/test/resources/org/jboss/test/kernel/asynchronous/test/AsynchronousAtDeploymentLevelTestCase_NotAutomatic.xml
===================================================================
--- projects/kernel/trunk/kernel/src/test/resources/org/jboss/test/kernel/asynchronous/test/AsynchronousAtDeploymentLevelTestCase_NotAutomatic.xml	                        (rev 0)
+++ projects/kernel/trunk/kernel/src/test/resources/org/jboss/test/kernel/asynchronous/test/AsynchronousAtDeploymentLevelTestCase_NotAutomatic.xml	2009-07-07 18:38:30 UTC (rev 90899)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:schemaLocation="urn:jboss:bean-deployer bean-deployer_1_0.xsd"
+            xmlns="urn:jboss:bean-deployer"
+            mode="Asynchronous">
+   <bean name="Bean1" class="org.jboss.test.kernel.asynchronous.support.BeanWithCreateStart"/>
+   <bean name="Bean2" class="org.jboss.test.kernel.asynchronous.support.BeanWithCreateStart"/>
+</deployment>




More information about the jboss-cvs-commits mailing list