Skip to content

Conversation

vogella
Copy link
Contributor

@vogella vogella commented Oct 5, 2025

This commit converts AllPerfTests.java from JUnit3 to JUnit5:

  • Converted from JUnit3 TestCase with suite() method to JUnit5 @Suite/@SelectClasses
  • Replaced static Test suite() method with @testfactory for dynamic performance tests
  • Preserved the original behavior for warming up startup tests
  • Preserved headless startup test configuration with eclipse.activateRuntimePlugins=false
  • Preserved UI performance test integration
  • Maintained complex ContentTypePerformanceTest suite behavior via dynamic test execution

The conversion maintains all original test functionality while modernizing to JUnit5:

  • BenchPath.class and PreferencePerformanceTest.class are included via @SelectClasses
  • Complex performance session tests are handled via @testfactory and DynamicTest
  • Error handling for setup failures is preserved using RuntimeException wrapping

All tests (395) continue to pass after the conversion with 4 skipped tests unchanged from the original behavior.

This commit converts AllPerfTests.java from JUnit3 to JUnit5:
- Converted from JUnit3 TestCase with suite() method to JUnit5 @Suite/@SelectClasses
- Replaced static Test suite() method with @testfactory for dynamic performance tests
- Preserved the original behavior for warming up startup tests
- Preserved headless startup test configuration with eclipse.activateRuntimePlugins=false
- Preserved UI performance test integration
- Maintained complex ContentTypePerformanceTest suite behavior via dynamic test execution

The conversion maintains all original test functionality while modernizing to JUnit5:
- BenchPath.class and PreferencePerformanceTest.class are included via @SelectClasses
- Complex performance session tests are handled via @testfactory and DynamicTest
- Error handling for setup failures is preserved using RuntimeException wrapping

All tests (395) continue to pass after the conversion with 4 skipped tests unchanged from the original behavior.
Copy link
Contributor

github-actions bot commented Oct 5, 2025

Test Results

 1 920 files   -  27   1 920 suites   - 27   1h 35m 8s ⏱️ - 14m 47s
 4 721 tests ±  0   4 696 ✅ ±  0   24 💤 ±0  1 ❌ ±0 
14 010 runs   - 153  13 842 ✅  - 153  167 💤 ±0  1 ❌ ±0 

For more details on these failures, see this check.

Results for commit ececae7. ± Comparison against base commit ead5e72.

Copy link
Contributor

@HeikoKlare HeikoKlare left a comment

Choose a reason for hiding this comment

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

I don't think this kind of migration makes sense. SessionTestSuite is outdated (as it relies on JUnit 3/4 concepts). After this change, the test class still relies on SessionTestSuite, which is not a good way forward. All existing SessionTestSuite usages (except for usages of the specialized ConfigurationSessionTestSuite in Equinox eclipse-equinox/equinox#654) have been replaced with a JUnit 5 concept based on the added SessionTestExtension and related functionality. Instead of introducing another way of migrating session tests to JUnit 5 and preserving dependencies to JUnit 3/4 classes, the same pattern should be adopted here as well (or a different approach should be applied consistently everywhere).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants