Added new test for bug 35064. (disabled) Disabled tests due to bug 34752.
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.34/tests.a_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.34/tests.a_1.0.0/plugin.xml new file mode 100644 index 0000000..97bc8e8 --- /dev/null +++ b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.34/tests.a_1.0.0/plugin.xml
@@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<plugin + name="IBM Tooling Platform Core Tests" + id="tests.a" + version="1.0.0" + vendor-name="IBM"> + + <requires> + <import plugin="tests.b" version="2.0.0"/> + </requires> + +</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.34/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.34/tests.b_1.0.0/plugin.xml new file mode 100644 index 0000000..ac8c980 --- /dev/null +++ b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.34/tests.b_1.0.0/plugin.xml
@@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<plugin + name="IBM Tooling Platform Core Tests" + id="tests.b" + version="1.0.0" + vendor-name="IBM"> + <requires> + <import plugin="tests.c" version="1.0.0"/> + </requires> +</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.34/tests.b_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.34/tests.b_2.0.0/plugin.xml new file mode 100644 index 0000000..f408be2 --- /dev/null +++ b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.34/tests.b_2.0.0/plugin.xml
@@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<plugin + name="IBM Tooling Platform Core Tests" + id="tests.b" + version="2.0.0" + vendor-name="IBM"> + <requires> + <import plugin="tests.c" version="2.0.0"/> + </requires> + +</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.34/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.34/tests.c_1.0.0/plugin.xml new file mode 100644 index 0000000..7d8bce2 --- /dev/null +++ b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.34/tests.c_1.0.0/plugin.xml
@@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<plugin + name="IBM Tooling Platform Core Tests" + id="tests.c" + version="1.0.0" + vendor-name="IBM"> + +</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/AllTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/AllTests.java index 0e4230c..4b858f9 100644 --- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/AllTests.java +++ b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/AllTests.java
@@ -56,6 +56,8 @@ suite.addTest(PluginResolveTest_31.suite()); suite.addTest(PluginResolveTest_32.suite()); suite.addTest(PluginResolveTest_33.suite()); + //FIXME: the following test should pass after bug 35064 is fixed + //suite.addTest(PluginResolveTest_34.suite()); suite.addTest(PluginVersionTest.suite()); suite.addTest(PluginVersionTest_2.suite()); suite.addTest(PluginXmlTest.suite()); @@ -88,8 +90,9 @@ suite.addTest(SoftPrereqTest_20.suite()); suite.addTest(SoftPrereqTest_21.suite()); suite.addTest(SoftPrereqTest_22.suite()); - suite.addTest(ConflictResolveTest_1.suite()); - suite.addTest(ConflictResolveTest_2.suite()); + //FIXME: the tests below should pass after bug 34752 is fixed +// suite.addTest(ConflictResolveTest_1.suite()); +// suite.addTest(ConflictResolveTest_2.suite()); suite.addTest(ConflictResolveTest_3.suite()); suite.addTest(ConflictResolveTest_4.suite()); suite.addTest(ConflictResolveTest_5.suite());
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_34.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_34.java new file mode 100644 index 0000000..4505432 --- /dev/null +++ b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_34.java
@@ -0,0 +1,72 @@ +/******************************************************************************* + * Copyright (c) 2000, 2003 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.core.tests.internal.plugins; + +import java.net.URL; + +import junit.framework.Test; +import junit.framework.TestSuite; + +import org.eclipse.core.internal.plugins.InternalFactory; +import org.eclipse.core.internal.plugins.PluginDescriptor; +import org.eclipse.core.internal.runtime.Policy; +import org.eclipse.core.runtime.*; + +public class PluginResolveTest_34 extends PluginResolveTest { + public PluginResolveTest_34() { + super(null); + } + public PluginResolveTest_34(String name) { + super(name); + } + + /** + * Registry: + * a_1.0.0 -> b_2.0.0 + * b_2.0.0 -> c_2.0.0 + * b_1.0.0 -> c_1.0.0 + * c_1.0.0 + * + * After resolution: + * b_1.0.0 -> c_1.0.0 + * c_1.0.0 + */ + public void testResolve() { + MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null); + InternalFactory factory = new InternalFactory(problems); + PluginDescriptor tempPlugin = (PluginDescriptor) Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime"); + String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.34/"); + URL pluginURLs[] = new URL[1]; + URL pURL = null; + try { + pURL = new URL(pluginPath); + } catch (java.net.MalformedURLException e) { + assertTrue("Bad URL for " + pluginPath, true); + } + pluginURLs[0] = pURL; + IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true); + + IPluginDescriptor[] plugins = registry.getPluginDescriptors(); + assertEquals("1.0", 2, plugins.length); + + plugins = registry.getPluginDescriptors("tests.b"); + assertEquals("2.0", 1, plugins.length); + assertEquals("2.1", plugins[0].getVersionIdentifier().toString(), "1.0.0"); + + plugins = registry.getPluginDescriptors("tests.c"); + assertEquals("3.0", 1, plugins.length); + assertEquals("3.1", plugins[0].getVersionIdentifier().toString(), "1.0.0"); + + } + public static Test suite() { + return new TestSuite(PluginResolveTest_34.class); + } +}