Author: thomas.diesler(a)jboss.com
Date: 2009-09-09 08:03:21 -0400 (Wed, 09 Sep 2009)
New Revision: 93310
Modified:
projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbosgi151/OSGI151TestCase.java
Log:
[JBOSGI-151] Cannot resolve circular dependencies
Add reverse order install test
Modified:
projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbosgi151/OSGI151TestCase.java
===================================================================
---
projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbosgi151/OSGI151TestCase.java 2009-09-09
11:51:41 UTC (rev 93309)
+++
projects/jboss-osgi/trunk/testsuite/functional/src/test/java/org/jboss/test/osgi/jbosgi151/OSGI151TestCase.java 2009-09-09
12:03:21 UTC (rev 93310)
@@ -40,7 +40,7 @@
/**
* [JBOSGI-151] Cannot resolve circular dependencies
*
- *
https://jira.jboss.org/jira/browse/JBOSGI-143
+ *
https://jira.jboss.org/jira/browse/JBOSGI-151
*
* BundleA
* exports A
@@ -95,8 +95,6 @@
Bundle bundleB =
sysContext.installBundle(getBundleLocation("jbosgi151-bundleB.jar"));
assertEquals("INSTALLED expected", Bundle.INSTALLED,
bundleB.getState());
- System.out.println("FIXME [JBOSGI-151] Cannot resolve circular
dependencies");
- /*
bundleB.start();
assertEquals("ACTIVE expected", Bundle.ACTIVE, bundleB.getState());
assertEquals("RESOLVED expected", Bundle.RESOLVED, bundleA.getState());
@@ -108,35 +106,61 @@
Class<?> classBA = bundleA.loadClass(BeanB.class.getName());
Class<?> classBB = bundleB.loadClass(BeanB.class.getName());
assertEquals("Class for BeanB", classBA, classBB);
- */
bundleB.uninstall();
bundleA.uninstall();
}
@Test
- public void testCircularWithSelfDependency() throws Exception
+ public void testCircularInstallCbeforeD() throws Exception
{
BundleContext sysContext = framework.getBundleContext();
+ Bundle bundleC =
sysContext.installBundle(getBundleLocation("jbosgi151-bundleC.jar"));
+ assertEquals("INSTALLED expected", Bundle.INSTALLED,
bundleC.getState());
+
Bundle bundleD =
sysContext.installBundle(getBundleLocation("jbosgi151-bundleD.jar"));
assertEquals("INSTALLED expected", Bundle.INSTALLED,
bundleD.getState());
- Bundle bundleC =
sysContext.installBundle(getBundleLocation("jbosgi151-bundleC.jar"));
- assertEquals("INSTALLED expected", Bundle.INSTALLED,
bundleC.getState());
-
bundleD.start();
assertEquals("ACTIVE expected", Bundle.ACTIVE, bundleD.getState());
assertEquals("RESOLVED expected", Bundle.RESOLVED, bundleC.getState());
+ Class<?> classBC = bundleC.loadClass(BeanB.class.getName());
+ Class<?> classBD = bundleD.loadClass(BeanB.class.getName());
+ assertEquals("Class for BeanB", classBC, classBD);
+
Class<?> classAC = bundleC.loadClass(BeanA.class.getName());
Class<?> classAD = bundleD.loadClass(BeanA.class.getName());
assertEquals("Class for BeanA", classAC, classAD);
+ bundleD.uninstall();
+ bundleC.uninstall();
+ }
+
+ @Test
+ public void testCircularInstallDbeforeC() throws Exception
+ {
+ BundleContext sysContext = framework.getBundleContext();
+
+ Bundle bundleD =
sysContext.installBundle(getBundleLocation("jbosgi151-bundleD.jar"));
+ assertEquals("INSTALLED expected", Bundle.INSTALLED,
bundleD.getState());
+
+ Bundle bundleC =
sysContext.installBundle(getBundleLocation("jbosgi151-bundleC.jar"));
+ assertEquals("INSTALLED expected", Bundle.INSTALLED,
bundleC.getState());
+
+ bundleD.start();
+ assertEquals("ACTIVE expected", Bundle.ACTIVE, bundleD.getState());
+ assertEquals("RESOLVED expected", Bundle.RESOLVED, bundleC.getState());
+
Class<?> classBC = bundleC.loadClass(BeanB.class.getName());
Class<?> classBD = bundleD.loadClass(BeanB.class.getName());
assertEquals("Class for BeanB", classBC, classBD);
+ Class<?> classAC = bundleC.loadClass(BeanA.class.getName());
+ Class<?> classAD = bundleD.loadClass(BeanA.class.getName());
+ assertEquals("Class for BeanA", classAC, classAD);
+
bundleD.uninstall();
bundleC.uninstall();
}