Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Watson2014-02-19 14:15:18 +0000
committerThomas Watson2014-02-19 14:15:18 +0000
commit9d5d6a32845f4e56de4a3f17a367aaa2c6e2b156 (patch)
tree3961f7cc38a672c9dee5e9c1fc0cd7b857ee1af4 /bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container
parent78310004d127de8e8759876c089dfac9ac6a0a7f (diff)
downloadrt.equinox.framework-9d5d6a32845f4e56de4a3f17a367aaa2c6e2b156.tar.gz
rt.equinox.framework-9d5d6a32845f4e56de4a3f17a367aaa2c6e2b156.tar.xz
rt.equinox.framework-9d5d6a32845f4e56de4a3f17a367aaa2c6e2b156.zip
Bug 428172 - ClassCastException when Feature contributes to system.bundle and export package
- Add testcase
Diffstat (limited to 'bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container')
-rw-r--r--bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/TestModuleContainer.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/TestModuleContainer.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/TestModuleContainer.java
index 26a65990e..572053a5c 100644
--- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/TestModuleContainer.java
+++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/TestModuleContainer.java
@@ -1426,6 +1426,40 @@ public class TestModuleContainer extends AbstractTest {
Assert.assertEquals("g should not resolve.", State.INSTALLED, uses_g.getState());
}
+ /*
+ * Test that fragments and uses constraints
+ */
+ @Test
+ public void testUses4() throws BundleException, IOException {
+ DummyContainerAdaptor adaptor = createDummyAdaptor();
+ ModuleContainer container = adaptor.getContainer();
+
+ Module systemBundle = installDummyModule("system.bundle.MF", Constants.SYSTEM_BUNDLE_LOCATION, container);
+
+ container.resolve(Arrays.asList(systemBundle), true);
+ Module uses_h = installDummyModule("uses.h.MF", "h", container);
+ Module uses_h_frag = installDummyModule("uses.h.frag.MF", "h.frag", container);
+
+ container.resolve(null, false);
+
+ Assert.assertEquals("h should resolve.", State.RESOLVED, uses_h.getState());
+ Assert.assertEquals("h.frag should resolve.", State.RESOLVED, uses_h_frag.getState());
+
+ Module uses_i = installDummyModule("uses.i.MF", "i", container);
+ Module uses_j = installDummyModule("uses.j.MF", "j", container);
+
+ container.resolve(null, false);
+
+ Assert.assertEquals("i should resolve.", State.RESOLVED, uses_i.getState());
+ Assert.assertEquals("j should resolve.", State.RESOLVED, uses_j.getState());
+
+ List<BundleWire> requiredWires = uses_j.getCurrentRevision().getWiring().getRequiredWires(null);
+ Assert.assertEquals("Wrong number of wires for j", 2, requiredWires.size());
+ for (BundleWire wire : requiredWires) {
+ Assert.assertEquals("Wrong provider", uses_i.getCurrentRevision(), wire.getProvider());
+ }
+ }
+
@Test
public void testMultiCardinalityUses() throws BundleException, IOException {
DummyContainerAdaptor adaptor = createDummyAdaptor();

Back to the top