Fix race condition in DecoratorAdaptableTests by adding event loop processing #3452
+8
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #868
This PR fixes a race condition in
DecoratorAdaptableTeststhat was causing intermittent test failures with the error:Problem
The tests were experiencing intermittent failures due to a race condition. After enabling decorators in the
@Beforemethod usingsetEnabled(), the decorator manager schedules asynchronous updates that may not have completed before the test assertions ran.Solution
This PR applies the same pattern used to fix other race conditions in Eclipse UI tests (like the recent fix for
MMenuItemTestin a988d08):UITestUtilwhich provides event loop processing utilitiesUITestUtil.processEvents()after decorator enablement in@Beforeto ensure all pending UI events are processedUITestUtil.processEvents()in@Afterto ensure a clean state for subsequent testsThe
processEvents()method processes all pending events in the Display event queue, ensuring that decorator registration and enablement updates have completed before the test proceeds.Test Plan
DecoratorAdaptableTests:testAdaptablestestNonAdaptableContributionstestContributorResourceAdapterRelated Changes
This fix follows the same pattern as other recent race condition fixes in the repository.
🤖 Generated with Claude Code