[jboss-cvs] JBossAS SVN: r102061 - in projects/jboss-deployers/trunk: deployers-impl/src/test/java/org/jboss/test/deployers/classloading/support and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Mar 8 09:21:30 EST 2010


Author: adrian at jboss.org
Date: 2010-03-08 09:21:29 -0500 (Mon, 08 Mar 2010)
New Revision: 102061

Modified:
   projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/support/MockClassLoaderDescribeDeployer.java
   projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/support/MockDeployer.java
   projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/support/MockDeployerImpl.java
   projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/support/MockLevelClassLoaderSystemDeployer.java
   projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/ClassLoaderDependenciesTest.java
   projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/ClassLoadingLifeCycleUnitTestCase.java
   projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/MockClassLoaderDependenciesUnitTestCase.java
   projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/SubDeploymentMockClassLoaderUnitTestCase.java
   projects/jboss-deployers/trunk/pom.xml
Log:
[JBCL-159] - Test for circular dependency. Use sets rather lists in the tests since circular dependencies will move in an indeterminate order

Modified: projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/support/MockClassLoaderDescribeDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/support/MockClassLoaderDescribeDeployer.java	2010-03-08 13:07:26 UTC (rev 102060)
+++ projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/support/MockClassLoaderDescribeDeployer.java	2010-03-08 14:21:29 UTC (rev 102061)
@@ -21,8 +21,8 @@
 */
 package org.jboss.test.deployers.classloading.support;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.HashSet;
+import java.util.Set;
 
 import org.jboss.classloading.spi.dependency.policy.ClassLoaderPolicyModule;
 import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
@@ -38,8 +38,8 @@
  */
 public class MockClassLoaderDescribeDeployer extends AbstractClassLoaderDescribeDeployer implements MockDeployer
 {
-   public List<String> deployed = new ArrayList<String>();
-   public List<String> undeployed = new ArrayList<String>();
+   public Set<String> deployed = new HashSet<String>();
+   public Set<String> undeployed = new HashSet<String>();
 
    protected ClassLoaderPolicyModule createModule(DeploymentUnit unit, ClassLoadingMetaData metaData) throws DeploymentException
    {
@@ -64,12 +64,12 @@
       undeployed.clear();
    }
 
-   public List<String> getDeployed()
+   public Set<String> getDeployed()
    {
       return deployed;
    }
 
-   public List<String> getUnDeployed()
+   public Set<String> getUnDeployed()
    {
       return undeployed;
    }

Modified: projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/support/MockDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/support/MockDeployer.java	2010-03-08 13:07:26 UTC (rev 102060)
+++ projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/support/MockDeployer.java	2010-03-08 14:21:29 UTC (rev 102061)
@@ -21,7 +21,7 @@
 */
 package org.jboss.test.deployers.classloading.support;
 
-import java.util.List;
+import java.util.Set;
 
 /**
  * MockDeployer.
@@ -31,7 +31,7 @@
  */
 public interface MockDeployer
 {
-   List<String> getDeployed();
-   List<String> getUnDeployed();
+   Set<String> getDeployed();
+   Set<String> getUnDeployed();
    void clear();
 }

Modified: projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/support/MockDeployerImpl.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/support/MockDeployerImpl.java	2010-03-08 13:07:26 UTC (rev 102060)
+++ projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/support/MockDeployerImpl.java	2010-03-08 14:21:29 UTC (rev 102061)
@@ -21,8 +21,8 @@
 */
 package org.jboss.test.deployers.classloading.support;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.HashSet;
+import java.util.Set;
 
 import org.jboss.deployers.spi.DeploymentException;
 import org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer;
@@ -36,8 +36,8 @@
  */
 public class MockDeployerImpl extends AbstractRealDeployer implements MockDeployer
 {
-   public List<String> deployed = new ArrayList<String>();
-   public List<String> undeployed = new ArrayList<String>();
+   public Set<String> deployed = new HashSet<String>();
+   public Set<String> undeployed = new HashSet<String>();
 
    String name;
    
@@ -62,12 +62,12 @@
       undeployed.clear();
    }
 
-   public List<String> getDeployed()
+   public Set<String> getDeployed()
    {
       return deployed;
    }
 
-   public List<String> getUnDeployed()
+   public Set<String> getUnDeployed()
    {
       return undeployed;
    }

Modified: projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/support/MockLevelClassLoaderSystemDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/support/MockLevelClassLoaderSystemDeployer.java	2010-03-08 13:07:26 UTC (rev 102060)
+++ projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/support/MockLevelClassLoaderSystemDeployer.java	2010-03-08 14:21:29 UTC (rev 102061)
@@ -21,8 +21,8 @@
  */
 package org.jboss.test.deployers.classloading.support;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.HashSet;
+import java.util.Set;
 
 import org.jboss.deployers.plugins.classloading.AbstractLevelClassLoaderSystemDeployer;
 import org.jboss.deployers.spi.DeploymentException;
@@ -36,8 +36,8 @@
  */
 public class MockLevelClassLoaderSystemDeployer extends AbstractLevelClassLoaderSystemDeployer implements MockDeployer
 {
-   public List<String> deployed = new ArrayList<String>();
-   public List<String> undeployed = new ArrayList<String>();
+   public Set<String> deployed = new HashSet<String>();
+   public Set<String> undeployed = new HashSet<String>();
 
    public void deploy(DeploymentUnit unit) throws DeploymentException
    {
@@ -57,12 +57,12 @@
       undeployed.clear();
    }
 
-   public List<String> getDeployed()
+   public Set<String> getDeployed()
    {
       return deployed;
    }
 
-   public List<String> getUnDeployed()
+   public Set<String> getUnDeployed()
    {
       return undeployed;
    }

Modified: projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/ClassLoaderDependenciesTest.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/ClassLoaderDependenciesTest.java	2010-03-08 13:07:26 UTC (rev 102060)
+++ projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/ClassLoaderDependenciesTest.java	2010-03-08 14:21:29 UTC (rev 102061)
@@ -21,9 +21,9 @@
 */
 package org.jboss.test.deployers.classloading.test;
 
-import java.util.ArrayList;
 import java.util.Collections;
-import java.util.List;
+import java.util.HashSet;
+import java.util.Set;
 
 import org.jboss.classloader.plugins.system.DefaultClassLoaderSystem;
 import org.jboss.classloader.spi.ClassLoaderDomain;
@@ -31,7 +31,12 @@
 import org.jboss.classloader.spi.ParentPolicy;
 import org.jboss.classloading.spi.dependency.ClassLoading;
 import org.jboss.classloading.spi.dependency.policy.mock.MockClassLoadingMetaData;
-import org.jboss.classloading.spi.metadata.*;
+import org.jboss.classloading.spi.metadata.CapabilitiesMetaData;
+import org.jboss.classloading.spi.metadata.Capability;
+import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
+import org.jboss.classloading.spi.metadata.ClassLoadingMetaDataFactory;
+import org.jboss.classloading.spi.metadata.Requirement;
+import org.jboss.classloading.spi.metadata.RequirementsMetaData;
 import org.jboss.classloading.spi.version.Version;
 import org.jboss.classloading.spi.version.VersionRange;
 import org.jboss.deployers.client.spi.DeployerClient;
@@ -60,17 +65,17 @@
    public static final String NameA = "A";
    public static final String NameB = "B";
 
-   public static final List<String> NONE = Collections.emptyList();
-   public static final List<String> A = makeList(NameA);
-   public static final List<String> B = makeList(NameB);
-   public static final List<String> AB = makeList(NameA, NameB);
-   public static final List<String> BA = makeList(NameB, NameA);
-   public static final List<String> BAA = makeList(NameB, NameA, NameA);
-   public static final List<String> BABA = makeList(NameB, NameA, NameB, NameA);
+   public static final Set<String> NONE = Collections.emptySet();
+   public static final Set<String> A = makeSet(NameA);
+   public static final Set<String> B = makeSet(NameB);
+   public static final Set<String> AB = makeSet(NameA, NameB);
+   public static final Set<String> BA = makeSet(NameB, NameA);
+   public static final Set<String> BAA = makeSet(NameB, NameA, NameA);
+   public static final Set<String> BABA = makeSet(NameB, NameA, NameB, NameA);
 
-   protected static <T> List<T> makeList(T... objects)
+   protected static <T> Set<T> makeSet(T... objects)
    {
-      List<T> result = new ArrayList<T>();
+      Set<T> result = new HashSet<T>();
       for (T object : objects)
          result.add(object);
       return result;

Modified: projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/ClassLoadingLifeCycleUnitTestCase.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/ClassLoadingLifeCycleUnitTestCase.java	2010-03-08 13:07:26 UTC (rev 102060)
+++ projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/ClassLoadingLifeCycleUnitTestCase.java	2010-03-08 14:21:29 UTC (rev 102061)
@@ -22,8 +22,11 @@
 package org.jboss.test.deployers.classloading.test;
 
 import java.util.Collections;
-import java.util.List;
+import java.util.Set;
 
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
 import org.jboss.classloading.spi.dependency.LifeCycle;
 import org.jboss.classloading.spi.dependency.Module;
 import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
@@ -41,9 +44,6 @@
 import org.jboss.test.deployers.classloading.support.a.A;
 import org.jboss.test.deployers.classloading.support.b.B;
 
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
 /**
  * ClassLoadingLifeCycleUnitTestCase
  *
@@ -776,26 +776,26 @@
       deployer3.clear();
    }
    
-   protected void assertDeployed(List<String> expected)
+   protected void assertDeployed(Set<String> expected)
    {
       assertDeployed(expected, deployer1);
       assertDeployed(expected, deployer2);
       assertDeployed(expected, deployer3);
    }
    
-   protected void assertDeployed(List<String> expected, MockDeployer deployer)
+   protected void assertDeployed(Set<String> expected, MockDeployer deployer)
    {
       assertEquals(deployer.toString(), expected, deployer.getDeployed());
    }
    
-   protected void assertUndeployed(List<String> expected)
+   protected void assertUndeployed(Set<String> expected)
    {
       assertUndeployed(expected, deployer1);
       assertUndeployed(expected, deployer2);
       assertUndeployed(expected, deployer3);
    }
    
-   protected void assertUndeployed(List<String> expected, MockDeployer deployer)
+   protected void assertUndeployed(Set<String> expected, MockDeployer deployer)
    {
       assertEquals(deployer.toString(), expected, deployer.getUnDeployed());
    }

Modified: projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/MockClassLoaderDependenciesUnitTestCase.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/MockClassLoaderDependenciesUnitTestCase.java	2010-03-08 13:07:26 UTC (rev 102060)
+++ projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/MockClassLoaderDependenciesUnitTestCase.java	2010-03-08 14:21:29 UTC (rev 102061)
@@ -234,4 +234,45 @@
       assertEquals(BABA, deployer2.deployed);
       assertEquals(AB, deployer2.undeployed);
    }
+   
+
+   public void testCircular() throws Exception
+   {
+      DeployerClient deployer = getMainDeployer();
+
+      Deployment deploymentB = createSimpleDeployment(NameB);
+      ClassLoadingMetaData classLoadingMetaData = addClassLoadingMetaData(deploymentB, deploymentB.getName(), null, B.class);
+      addRequireModule(classLoadingMetaData, "A", null);
+      DeploymentUnit unitB = addDeployment(deployer, deploymentB);
+
+      assertEquals(NONE, deployer2.deployed);
+      assertEquals(NONE, deployer2.undeployed);
+
+      Deployment deploymentA = createSimpleDeployment(NameA);
+      classLoadingMetaData = addClassLoadingMetaData(deploymentA, deploymentA.getName(), null, A.class);
+      addRequireModule(classLoadingMetaData, "B", null);
+      DeploymentUnit unitA = assertDeploy(deployer, deploymentA);
+      
+      ClassLoader clA = unitA.getClassLoader();
+      ClassLoader clB = unitB.getClassLoader();
+      assertLoadClass(clB, B.class);
+      assertLoadClass(clA, B.class, clB);
+      assertLoadClass(clB, A.class, clA);
+      assertLoadClass(clA, A.class);
+
+      assertEquals(AB, deployer2.deployed);
+      assertEquals(NONE, deployer2.undeployed);
+      
+      assertUndeploy(deployer, deploymentA);
+      assertLoadClassIllegal(clA, B.class);
+      assertLoadClassIllegal(clB, A.class);
+
+      assertEquals(AB, deployer2.deployed);
+      assertEquals(AB, deployer2.undeployed);
+      
+      assertUndeploy(deployer, deploymentB);
+      assertLoadClass(clA, A.class);
+      assertLoadClass(clB, B.class);
+   }
+
 }

Modified: projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/SubDeploymentMockClassLoaderUnitTestCase.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/SubDeploymentMockClassLoaderUnitTestCase.java	2010-03-08 13:07:26 UTC (rev 102060)
+++ projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/SubDeploymentMockClassLoaderUnitTestCase.java	2010-03-08 14:21:29 UTC (rev 102061)
@@ -21,8 +21,8 @@
 */
 package org.jboss.test.deployers.classloading.test;
 
-import java.util.Arrays;
 import java.util.List;
+import java.util.Set;
 
 import junit.framework.AssertionFailedError;
 import junit.framework.Test;
@@ -55,6 +55,8 @@
       super(name);
    }
 
+   static Set<String> topsub = makeSet("top", "top/sub");
+   
    public void testNoSubDeploymentClassLoader() throws Exception
    {
       DeployerClient deployer = getMainDeployer();
@@ -92,7 +94,7 @@
       DeploymentUnit unit = assertDeploy(deployer, deployment);
       assertDomain("top/sub");
       
-      assertEquals(Arrays.asList("top", "top/sub"), deployer2.deployed);
+      assertEquals(topsub, deployer2.deployed);
       assertEquals(NONE, deployer2.undeployed);
       
       ClassLoader cl = unit.getClassLoader();
@@ -107,8 +109,8 @@
       assertUndeploy(deployer, deployment);
       assertNoDomain("top/sub");
 
-      assertEquals(Arrays.asList("top", "top/sub"), deployer2.deployed);
-      assertEquals(Arrays.asList("top/sub", "top"), deployer2.undeployed);
+      assertEquals(topsub, deployer2.deployed);
+      assertEquals(topsub, deployer2.undeployed);
    }
 
    public void testSubDeploymentClassLoaderSpecifiedDefaultDomain() throws Exception
@@ -127,7 +129,7 @@
       
       DeploymentUnit unit = assertDeploy(deployer, deployment);
       
-      assertEquals(Arrays.asList("top", "top/sub"), deployer2.deployed);
+      assertEquals(topsub, deployer2.deployed);
       assertEquals(NONE, deployer2.undeployed);
       
       ClassLoader cl = unit.getClassLoader();
@@ -143,8 +145,8 @@
       assertUndeploy(deployer, deployment);
       assertNoDomain("top/sub");
 
-      assertEquals(Arrays.asList("top", "top/sub"), deployer2.deployed);
-      assertEquals(Arrays.asList("top/sub", "top"), deployer2.undeployed);
+      assertEquals(topsub, deployer2.deployed);
+      assertEquals(topsub, deployer2.undeployed);
    }
 
    public void testSubDeploymentClassLoaderSpecifiedOtherDomain() throws Exception
@@ -164,7 +166,7 @@
       DeploymentUnit unit = assertDeploy(deployer, deployment);
       assertDomain("TestDomain");
       
-      assertEquals(Arrays.asList("top", "top/sub"), deployer2.deployed);
+      assertEquals(topsub, deployer2.deployed);
       assertEquals(NONE, deployer2.undeployed);
       
       ClassLoader cl = unit.getClassLoader();
@@ -179,8 +181,8 @@
       assertUndeploy(deployer, deployment);
       assertNoDomain("top/sub");
 
-      assertEquals(Arrays.asList("top", "top/sub"), deployer2.deployed);
-      assertEquals(Arrays.asList("top/sub", "top"), deployer2.undeployed);
+      assertEquals(topsub, deployer2.deployed);
+      assertEquals(topsub, deployer2.undeployed);
    }
 
    public void testSubDeploymentClassLoaderSpecifiedTopLevel() throws Exception
@@ -199,7 +201,7 @@
       
       DeploymentUnit unit = assertDeploy(deployer, deployment);
       
-      assertEquals(Arrays.asList("top", "top/sub"), deployer2.deployed);
+      assertEquals(topsub, deployer2.deployed);
       assertEquals(NONE, deployer2.undeployed);
       
       ClassLoader cl = unit.getClassLoader();
@@ -215,8 +217,8 @@
       assertUndeploy(deployer, deployment);
       assertNoDomain("top/sub");
 
-      assertEquals(Arrays.asList("top", "top/sub"), deployer2.deployed);
-      assertEquals(Arrays.asList("top/sub", "top"), deployer2.undeployed);
+      assertEquals(topsub, deployer2.deployed);
+      assertEquals(topsub, deployer2.undeployed);
    }
 
    public void testMultipleSubDeploymentClassLoader() throws Exception
@@ -284,8 +286,8 @@
       assertUndeploy(deployer, deployment);
       assertNoDomain("top/sub");
 
-      assertEquals(Arrays.asList("top", "top/sub"), deployer2.deployed);
-      assertEquals(Arrays.asList("top/sub", "top"), deployer2.undeployed);
+      assertEquals(topsub, deployer2.deployed);
+      assertEquals(topsub, deployer2.undeployed);
    }
 
    public void testMultipleSubDeploymentClassLoaderSpecifiedDomain() throws Exception

Modified: projects/jboss-deployers/trunk/pom.xml
===================================================================
--- projects/jboss-deployers/trunk/pom.xml	2010-03-08 13:07:26 UTC (rev 102060)
+++ projects/jboss-deployers/trunk/pom.xml	2010-03-08 14:21:29 UTC (rev 102061)
@@ -26,7 +26,7 @@
     <version.jboss.classpool>1.0.0.Alpha2</version.jboss.classpool>
     <version.jboss.man>2.1.1.SP1</version.jboss.man>
     <version.jboss.mdr>2.2.0.Alpha1</version.jboss.mdr>
-    <version.jboss.kernel>2.2.0.Alpha1</version.jboss.kernel>
+    <version.jboss.kernel>2.2.0-SNAPSHOT</version.jboss.kernel>
     <version.jboss.classloader>2.2.0-SNAPSHOT</version.jboss.classloader>
     <version.jboss.classloading.spi>5.1.0.SP1</version.jboss.classloading.spi>
     <version.jboss.common.core>2.2.17.GA</version.jboss.common.core>




More information about the jboss-cvs-commits mailing list