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);
+	}
+}