[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