From f94ceead7e1eea65a1798486ce1236b53536bf94 Mon Sep 17 00:00:00 2001 From: Sebastian Ratz Date: Wed, 17 Sep 2025 22:31:42 +0200 Subject: [PATCH] Adjust dependencies in ConfigurationSessionTestSuite (fixup for #2162) org.eclipse.core.tests.session.ConfigurationSessionTestSuite must be adjusted in the same way as org.eclipse.core.tests.harness.session.customization.CustomSessionConfigurationImpl --- .../ConfigurationSessionTestSuite.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/runtime/tests/org.eclipse.core.tests.harness/src/org/eclipse/core/tests/session/ConfigurationSessionTestSuite.java b/runtime/tests/org.eclipse.core.tests.harness/src/org/eclipse/core/tests/session/ConfigurationSessionTestSuite.java index 1ff2af3790d..94e4da45cbb 100644 --- a/runtime/tests/org.eclipse.core.tests.harness/src/org/eclipse/core/tests/session/ConfigurationSessionTestSuite.java +++ b/runtime/tests/org.eclipse.core.tests.harness/src/org/eclipse/core/tests/session/ConfigurationSessionTestSuite.java @@ -26,6 +26,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Optional; @@ -45,6 +46,8 @@ import org.osgi.framework.Constants; import org.osgi.framework.FrameworkUtil; import org.osgi.framework.Version; +import org.osgi.framework.wiring.BundleWire; +import org.osgi.framework.wiring.BundleWiring; @SuppressWarnings("restriction") public class ConfigurationSessionTestSuite extends SessionTestSuite { @@ -71,6 +74,18 @@ public ConfigurationSessionTestSuite(String pluginId, String name) { super(pluginId, name); } + private static void collectDependencies(Bundle bundle, Collection dependencyClosure) { + if (!dependencyClosure.add(bundle)) { + return; + } + BundleWiring wiring = bundle.adapt(BundleWiring.class); + if (wiring != null) { + for (BundleWire wire : wiring.getRequiredWires(null)) { + collectDependencies(wire.getProviderWiring().getBundle(), dependencyClosure); + } + } + } + @SuppressWarnings("deprecation") public void addMinimalBundleSet() { // Just use any class from the bundles we want to add as minimal bundle set @@ -84,6 +99,12 @@ public void addMinimalBundleSet() { addBundle(org.eclipse.core.runtime.content.IContentType.class); // org.eclipse.core.contenttype addBundle(org.eclipse.equinox.app.IApplication.class); // org.eclipse.equinox.app + // org.apache.felix.scr + dependencies + Bundle scrBundle = FrameworkUtil.getBundle(org.apache.felix.scr.info.ScrInfo.class); + Collection scrAndDependencies = new HashSet<>(); + collectDependencies(scrBundle, scrAndDependencies); + scrAndDependencies.forEach(i -> addBundle(i, null)); + addBundle(org.eclipse.core.tests.harness.TestHarnessPlugin.class); // org.eclipse.core.tests.harness addBundle(org.eclipse.test.performance.Performance.class); // org.eclipse.test.performance