diff options
author | Thomas Watson | 2013-08-23 21:11:01 +0000 |
---|---|---|
committer | Thomas Watson | 2013-08-25 20:13:06 +0000 |
commit | 967234ed12704065a3b6263d213664fb6f0777be (patch) | |
tree | 64fa99fb55e54398ef9a329ca133a372a841be4c /bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container | |
parent | 96077a854bbea2befe4f9fefb1952c367594eb05 (diff) | |
download | rt.equinox.framework-967234ed12704065a3b6263d213664fb6f0777be.tar.gz rt.equinox.framework-967234ed12704065a3b6263d213664fb6f0777be.tar.xz rt.equinox.framework-967234ed12704065a3b6263d213664fb6f0777be.zip |
Bug 415800 - Improve on error message for resolution when starting a bundle
Diffstat (limited to 'bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container')
2 files changed, 24 insertions, 61 deletions
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/ResolutionReportTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/ResolutionReportTest.java index e77ed747e..8e512ac41 100644 --- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/ResolutionReportTest.java +++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/container/ResolutionReportTest.java @@ -12,12 +12,11 @@ package org.eclipse.osgi.tests.container; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; import java.util.*; -import org.eclipse.osgi.container.Module; -import org.eclipse.osgi.container.ModuleContainer; +import org.eclipse.osgi.container.*; import org.eclipse.osgi.report.resolution.ResolutionReport; import org.eclipse.osgi.tests.container.dummys.*; import org.junit.Test; @@ -26,7 +25,6 @@ import org.osgi.framework.namespace.PackageNamespace; import org.osgi.framework.wiring.BundleRevision; import org.osgi.framework.wiring.FrameworkWiring; import org.osgi.resource.*; -import org.osgi.service.resolver.ResolutionException; public class ResolutionReportTest extends AbstractTest { // TODO Add test for dynamic resolution in conjunction with UNRESOLVED_PROVIDER entries. @@ -54,7 +52,7 @@ public class ResolutionReportTest extends AbstractTest { @Test public void testResolutionReportBuilder() { org.eclipse.osgi.container.ModuleResolutionReport.Builder builder = new org.eclipse.osgi.container.ModuleResolutionReport.Builder(); - ResolutionReport report = builder.build(); + ResolutionReport report = builder.build(null, null); assertNotNull("Resolution report was null", report); } @@ -213,21 +211,13 @@ public class ResolutionReportTest extends AbstractTest { // TODO Need to test both mandatory and optional triggers. private void assertResolutionDoesNotSucceed(ModuleContainer container, Collection<Module> modules) { - try { - container.resolve(modules, true); - fail("Resolution should not have succeeded"); - } catch (ResolutionException e) { - // Okay. - } + ModuleResolutionReport report = container.resolve(modules, true); + assertNotNull("Resolution should not have succeeded", report.getResoltuionException()); } private void assertResolutionSucceeds(ModuleContainer container, Collection<Module> modules) { - try { - container.resolve(modules, false); - // Okay - } catch (ResolutionException e) { - fail("Unexpected resolution exception"); - } + ModuleResolutionReport report = container.resolve(modules, false); + assertNull("Unexpected resolution exception", report.getResoltuionException()); } private void assertResolutionReportEntriesNotNull(Map<Resource, List<ResolutionReport.Entry>> entries) { 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 504e76915..d8a26a17c 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 @@ -187,7 +187,7 @@ public class TestModuleContainer extends AbstractTest { } @Test - public void testSimpleUnResolveable() throws BundleException, IOException, ResolutionException { + public void testSimpleUnResolveable() throws BundleException, IOException { DummyContainerAdaptor adaptor = createDummyAdaptor(); ModuleContainer container = adaptor.getContainer(); @@ -197,17 +197,13 @@ public class TestModuleContainer extends AbstractTest { Module c7 = installDummyModule("c7_v1.MF", "c7", container); installDummyModule("c6_v1.MF", "c6", container); - try { - container.resolve(Arrays.asList(c7), true); - // Expected a resolution exception - Assert.fail("Expected a resolution exception"); - } catch (ResolutionException e) { - // expected - } + ModuleResolutionReport report = container.resolve(Arrays.asList(c7), true); + Assert.assertNotNull("Expected a resolution exception", report.getResoltuionException()); // Should resolve now installDummyModule("c4_v1.MF", "c4", container); - container.resolve(Arrays.asList(c7), true); + report = container.resolve(Arrays.asList(c7), true); + Assert.assertNull("Unexpected resoltuion exception", report.getResoltuionException()); } @Test @@ -1230,7 +1226,7 @@ public class TestModuleContainer extends AbstractTest { } @Test - public void testRequireBundleUses() throws BundleException, IOException, ResolutionException { + public void testRequireBundleUses() throws BundleException, IOException { DummyContainerAdaptor adaptor = createDummyAdaptor(); ModuleContainer container = adaptor.getContainer(); @@ -1242,11 +1238,8 @@ public class TestModuleContainer extends AbstractTest { installDummyModule("require.b3.MF", "b3", container); installDummyModule("require.b4.MF", "b4", container); - try { - container.resolve(null, false); - } catch (ResolutionException e) { - // This is allowed to happen here - } + container.resolve(null, false); + Assert.assertEquals("b1 should not resolve.", State.INSTALLED, b1.getState()); } @@ -1254,7 +1247,7 @@ public class TestModuleContainer extends AbstractTest { * Test that a resolve process does not blow up because of one unresolvable uses constraint issue */ @Test - public void testUses1() throws BundleException, IOException, ResolutionException { + public void testUses1() throws BundleException, IOException { DummyContainerAdaptor adaptor = createDummyAdaptor(); ModuleContainer container = adaptor.getContainer(); @@ -1265,12 +1258,8 @@ public class TestModuleContainer extends AbstractTest { Module uses_b = installDummyModule("uses.b.MF", "b", container); Module uses_c = installDummyModule("uses.c.MF", "c", container); - try { - container.resolve(null, false); - } catch (ResolutionException e) { - // should not happen here - Assert.fail(e.getMessage()); - } + container.resolve(null, false); + Assert.assertEquals("a should resolve.", State.RESOLVED, uses_a.getState()); Assert.assertEquals("b should resolve.", State.RESOLVED, uses_b.getState()); Assert.assertEquals("c should not resolve.", State.INSTALLED, uses_c.getState()); @@ -1291,12 +1280,8 @@ public class TestModuleContainer extends AbstractTest { Module uses_b = installDummyModule("uses.b.MF", "b", container); Module uses_d = installDummyModule("uses.d.MF", "d", container); - try { - container.resolve(null, false); - } catch (ResolutionException e) { - // should not happen here - Assert.fail(e.getMessage()); - } + container.resolve(null, false); + Assert.assertEquals("a should resolve.", State.RESOLVED, uses_a.getState()); Assert.assertEquals("b should resolve.", State.RESOLVED, uses_b.getState()); Assert.assertEquals("d should resolve.", State.RESOLVED, uses_d.getState()); @@ -1319,12 +1304,8 @@ public class TestModuleContainer extends AbstractTest { Module uses_f = installDummyModule("uses.f.MF", "f", container); Module uses_g = installDummyModule("uses.g.MF", "g", container); - try { - container.resolve(null, false); - } catch (ResolutionException e) { - // should not happen here - Assert.fail(e.getMessage()); - } + container.resolve(null, false); + Assert.assertEquals("a should resolve.", State.RESOLVED, uses_a.getState()); Assert.assertEquals("b should resolve.", State.RESOLVED, uses_b.getState()); Assert.assertEquals("e should resolve.", State.RESOLVED, uses_e.getState()); @@ -1402,11 +1383,7 @@ public class TestModuleContainer extends AbstractTest { Module c6v160 = installDummyModule("c6_v160.MF", "c6_v160", container); - try { - container.resolve(null, false); - } catch (ResolutionException e) { - // expected - } + container.resolve(null, false); Assert.assertNull("Bundle should not be resolved: " + c6v160, c6v160.getCurrentRevision().getWiring()); @@ -1414,11 +1391,7 @@ public class TestModuleContainer extends AbstractTest { Module c6v180 = installDummyModule("c6_v180.MF", "c6_v180", container); - try { - container.resolve(null, false); - } catch (ResolutionException e) { - // expected - } + container.resolve(null, false); Assert.assertNull("Bundle should not be resolved: " + c6v180, c6v180.getCurrentRevision().getWiring()); |