Skip to content

Update pde.ui.tests test suite to JUnit5#1998

Merged
merks merged 1 commit intoeclipse-pde:masterfrom
vogella:pde-ui-test-suite-migrated-to-junit5
Oct 9, 2025
Merged

Update pde.ui.tests test suite to JUnit5#1998
merks merged 1 commit intoeclipse-pde:masterfrom
vogella:pde-ui-test-suite-migrated-to-junit5

Conversation

@vogella
Copy link
Contributor

@vogella vogella commented Oct 7, 2025

No description provided.

@github-actions
Copy link

github-actions bot commented Oct 7, 2025

Test Results

   771 files  +39     771 suites  +39   1h 18m 37s ⏱️ + 26m 3s
 3 609 tests  -  1   3 557 ✅ ± 0   52 💤  - 1  0 ❌ ±0 
10 827 runs   -  3  10 670 ✅ ± 0  157 💤  - 3  0 ❌ ±0 

Results for commit f7ef071. ± Comparison against base commit 01bf84c.

This pull request removes 672 and adds 671 tests. Note that renamed tests count towards both.
org.eclipse.pde.core.tests.internal.DependencyManagerTest ‑ testFindRequirementsClosure_importPackage
org.eclipse.pde.core.tests.internal.DependencyManagerTest ‑ testFindRequirementsClosure_includeFragments
org.eclipse.pde.core.tests.internal.DependencyManagerTest ‑ testFindRequirementsClosure_includeFragmentsProvidingPackages
org.eclipse.pde.core.tests.internal.DependencyManagerTest ‑ testFindRequirementsClosure_includeNonTestFragments
org.eclipse.pde.core.tests.internal.DependencyManagerTest ‑ testFindRequirementsClosure_includeOptional
org.eclipse.pde.core.tests.internal.DependencyManagerTest ‑ testFindRequirementsClosure_requireBundle
org.eclipse.pde.core.tests.internal.DependencyManagerTest ‑ testFindRequirementsClosure_requireBundle2
org.eclipse.pde.core.tests.internal.DependencyManagerTest ‑ testFindRequirementsClosure_requireDifferentVersions
org.eclipse.pde.core.tests.internal.DependencyManagerTest ‑ testFindRequirementsClosure_requiredCapability
org.eclipse.pde.core.tests.internal.DependencyManagerTest ‑ testFindRequirementsClosure_requirementsOfTransitivlyRequiredFragment
…
AllPDETests AllBundleModelTests BundleActivatorTestCase ‑ testAbsentHeader
AllPDETests AllBundleModelTests BundleActivatorTestCase ‑ testChangeExistingActivator
AllPDETests AllBundleModelTests BundleActivatorTestCase ‑ testGetActivator
AllPDETests AllBundleModelTests BundleActivatorTestCase ‑ testHeaderLength
AllPDETests AllBundleModelTests BundleActivatorTestCase ‑ testHeaderLengthWithWindowsDelimiter
AllPDETests AllBundleModelTests BundleActivatorTestCase ‑ testHeaderOffset1
AllPDETests AllBundleModelTests BundleActivatorTestCase ‑ testHeaderOffset2
AllPDETests AllBundleModelTests BundleActivatorTestCase ‑ testPresentHeader
AllPDETests AllBundleModelTests BundleActivatorTestCase ‑ testSetActivator
AllPDETests AllBundleModelTests BundleClasspathTestCase ‑ testAbsentHeader
…
This pull request removes 25 skipped tests and adds 24 skipped tests. Note that renamed tests count towards both.
org.eclipse.pde.ui.tests.ee.ExportBundleTests ‑ Unknown test
org.eclipse.pde.ui.tests.imports.BaseImportTestCase ‑ testImportAnt[Import with source]
org.eclipse.pde.ui.tests.target.LocalTargetDefinitionTests ‑ testArgumentsInstallDirectory
org.eclipse.pde.ui.tests.target.LocalTargetDefinitionTests ‑ testArgumentsProfileContainer
org.eclipse.pde.ui.tests.target.LocalTargetDefinitionTests ‑ testDefaultTargetPlatform
org.eclipse.pde.ui.tests.target.LocalTargetDefinitionTests ‑ testDirectoryBundleContainer
org.eclipse.pde.ui.tests.target.LocalTargetDefinitionTests ‑ testEclipseHomeTargetPlatform
org.eclipse.pde.ui.tests.target.LocalTargetDefinitionTests ‑ testEclipseHomeTargetPlatformAndConfigurationArea
org.eclipse.pde.ui.tests.target.LocalTargetDefinitionTests ‑ testMissingVersionRestrictedDefaultTargetPlatform
org.eclipse.pde.ui.tests.target.LocalTargetDefinitionTests ‑ testVariableDirectoryBundleContainer
…
AllPDETests AllImportTests org.eclipse.pde.ui.tests.imports.BaseImportTestCase ‑ testImportAnt[Import with source]
AllPDETests AllTargetTests LocalTargetDefinitionTests ‑ testArgumentsInstallDirectory
AllPDETests AllTargetTests LocalTargetDefinitionTests ‑ testArgumentsProfileContainer
AllPDETests AllTargetTests LocalTargetDefinitionTests ‑ testDefaultTargetPlatform
AllPDETests AllTargetTests LocalTargetDefinitionTests ‑ testDirectoryBundleContainer
AllPDETests AllTargetTests LocalTargetDefinitionTests ‑ testEclipseHomeTargetPlatform
AllPDETests AllTargetTests LocalTargetDefinitionTests ‑ testEclipseHomeTargetPlatformAndConfigurationArea
AllPDETests AllTargetTests LocalTargetDefinitionTests ‑ testMissingVersionRestrictedDefaultTargetPlatform
AllPDETests AllTargetTests LocalTargetDefinitionTests ‑ testVariableDirectoryBundleContainer
AllPDETests AllTargetTests LocalTargetDefinitionTests ‑ testVersionRestrictedDefaultTargetPlatform
…

♻️ This comment has been updated with latest results.

@akurtakov akurtakov force-pushed the pde-ui-test-suite-migrated-to-junit5 branch from b7af523 to 03edcc0 Compare October 8, 2025 06:46
org.hamcrest,
org.junit,
org.junit.jupiter.api.function;version="5.8.1",
org.junit.jupiter.migrationsupport;version="[5.13.0,6.0.0)",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this migration!
Is this import really necessary? I don't see it referenced directly or is it implicitly required?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it is so that JUnit5 can run older Junit tests.

I just learned yesterday that JUnit6 is already out. :-)

@vogella
Copy link
Contributor Author

vogella commented Oct 9, 2025

The failing tests are unrelated I assume but I will not commit until the build is green, or someone else links to the tracking issue / PR for the failing tests.

@merks
Copy link
Contributor

merks commented Oct 9, 2025

My guess would be that some/all of these are related to the introduction of junit 6 in the target platform, e.g.,

Processing inclusion from feature org.eclipse.jdt: Bundle org.eclipse.jdt.junit5.runtime_1.1.400.v20250606-0904 failed to resolve.:
 Package uses conflict: Require-Bundle: junit-platform-suite-commons; bundle-version="1.8.1
/home/jenkins/agent/workspace/eclipse.pde_PR-1998/build/org.eclipse.pde.build.tests/target/sdk-product/p2/plugins/org.eclipse.pde.build_3.12.800.v20250515-0456/scripts/genericTargets.xml:112: Processing inclusion from feature org.eclipse.test: Bundle org.eclipse.core.tests.harness_3.17.400.v20250918-1202 failed to resolve.:
	Package uses conflict: Require-Bundle: junit-platform-suite-commons; bundle-version="0.0.0"
	Missing required plug-in org.eclipse.jdt.junit5.runtime_0.0.0

I'm not sure the details of this one:

	at org.eclipse.pde.ui.tests.launcher.AbstractLaunchTest.assertPluginMapsEquals(AbstractLaunchTest.java:138)
	at org.eclipse.pde.ui.tests.launcher.PluginBasedLaunchTest.assertGetMergedBundleMap(PluginBasedLaunchTest.java:1095)
	at org.eclipse.pde.ui.tests.launcher.PluginBasedLaunchTest.assertGetMergedBundleMap(PluginBasedLaunchTest.java:1080)
	at org.eclipse.pde.ui.tests.launcher.PluginBasedLaunchTest.assertGetMergedBundleMap(PluginBasedLaunchTest.java:1070)
	at org.eclipse.pde.ui.tests.launcher.PluginBasedLaunchTest.testGetMergedBundleMap_automaticAddedWorkspacePlugins_multiVersionPluginDisabledWithSpecificVersion(PluginBasedLaunchTest.java:459)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.eclipse.pde.ui.tests.runtime.TestUtils$1.evaluate(TestUtils.java:267)
	at org.eclipse.pde.ui.tests.runtime.TestUtils$1.evaluate(TestUtils.java:267)
	at org.eclipse.pde.ui.tests.runtime.TestUtils$1.evaluate(TestUtils.java:267)

@iloveeclipse
Copy link
Member

I fear we have either to revert eclipse-platform/eclipse.platform.releng.aggregator#3399 or do some tycho / maven fixes or configuration changes to make sure JUnit 6 is not used yet, even if it there on update site.

I saw also errors in platform UI which seem to be related: eclipse-platform/eclipse.platform.ui#3382 (comment)

@trancexpress , @laeubi : FYI.

@merks
Copy link
Contributor

merks commented Oct 9, 2025

We won't move forward by moving backward. 😱 I think there are places that need upper bounds, particularly in JDT. If there were hundreds of failures, I'd be concerned, but there appear to be some handful of them...

First I will try to reproduce these problems in my SDK workspace where I can easily change anything in any project and in combination.

@merks
Copy link
Contributor

merks commented Oct 9, 2025

@iloveeclipse

Looking at the generated report's information for junit-jupiter-api 6.0.0

https://download.eclipse.org/oomph/archive/reports/download.eclipse.org/eclipse/updates/4.38-I-builds/https___download.eclipse.org_eclipse_updates_4.38-I-builds_I20251008-1230/junit-jupiter-api_6.0.0.html

Use expand all (circled in red) we can see all the things that can bind to the capabilities provided by this IU.

image

For any of those you can open the dependency in a browser:

https://download.eclipse.org/oomph/archive/reports/download.eclipse.org/eclipse/updates/4.38-I-builds/https___download.eclipse.org_eclipse_updates_4.38-I-builds_I20251008-1230/org.eclipse.jdt.junit5.runtime_1.1.400.v20250606-0904.html#osgi.bundle;_junit-jupiter-api_5.4.0

image

So the JDT JUnit5 runtime has no upper bound.. That's just one example, it's pretty much across the board...

I've reproduced the PDE test failures locally via local Tycho build and will experiment a bit with "local workaround". I just wanted to keep you in the loop while I continue the investigations.

@merks
Copy link
Contributor

merks commented Oct 9, 2025

FYI, "excluding" the junit-jupiter-api bundle passes the tests locally:

image

I'm now running a tycho build of all the PDE tests to see if they all pass.

@merks
Copy link
Contributor

merks commented Oct 9, 2025

FYI, I'm down to these two failing tests.

image

Hopefully I'm close to the end now.

@iloveeclipse
Copy link
Member

iloveeclipse commented Oct 9, 2025

Hopefully I'm close to the end now.

Sorry, I hoped you could also take a look at platform.ui tests that most likely need same treatment :-)

@merks
Copy link
Contributor

merks commented Oct 9, 2025

@iloveeclipse

Yes, it's on my multi-tasking, long todo list. (Today is also SimRel M1.)

@merks merks force-pushed the pde-ui-test-suite-migrated-to-junit5 branch from 03edcc0 to f7ef071 Compare October 9, 2025 18:35
@merks merks merged commit 46ec758 into eclipse-pde:master Oct 9, 2025
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants