Skip to content

Close Find/Replace test's Welcome page without leaving it maximized - #4352

Merged
HeikoKlare merged 1 commit into
eclipse-platform:masterfrom
HeikoKlare:fix-4349-findreplace-overlay-test-welcome-page
Sep 4, 2026
Merged

Close Find/Replace test's Welcome page without leaving it maximized#4352
HeikoKlare merged 1 commit into
eclipse-platform:masterfrom
HeikoKlare:fix-4349-findreplace-overlay-test-welcome-page

Conversation

@HeikoKlare

Copy link
Copy Markdown
Contributor

FindReplaceOverlayInEditorTest opens an editor and expects the Find/Replace overlay placed on it to take the focus. In a full product on a fresh workspace, the workbench shows its Welcome page first, which the test closes beforehand. That page is shown maximized, so closing it leaves the window maximized on a part that is gone. An editor opened afterwards is never rendered into the window but remains in the rendering engine's limbo, where it is invisible, and nothing inside an invisible widget tree can take the focus. The overlay therefore never received it, and the first test of the class failed.

This only happens where a Welcome page exists at all, which is the Ant-based test execution in the full SDK, and neither in the IDE nor via Maven Tycho. Putting the page into standby restores the window's regular layout before the page is closed, which makes the editor render as expected. Since the page does not come back afterwards, closing it once per class instead of before every test is sufficient.

The message reported when the focus is missed now also names the control holding it instead, so that a comparable failure can be told apart from an inactive window or a competing focus request without having to reproduce it first.

To find this, the Jenkins setup was rebuilt locally: the SDK and the automated tests of the failing I-build were installed the way the Ant harness does, and the suite was run through org.eclipse.test.uitestapplication with a fresh workspace, so that the Welcome page is present. The failure reproduced in all 9 runs of the unchanged build and disappeared in all runs with this change.

Fixes #4349

The overlay-in-editor test opens an editor and expects the overlay placed
on it to take the focus. Inside a full product on a fresh workspace the
workbench shows its Welcome page first, which the test closes beforehand.
That page is shown maximized, so closing it leaves the window maximized on
a part that is gone. An editor opened afterwards is then never rendered
into the window but stays in the rendering engine's limbo, where it is
invisible, and nothing inside an invisible widget tree can take the focus.
The overlay therefore never received it, and the first test of the class
failed wherever a Welcome page exists at all: in the Ant-based build, but
neither in the IDE nor via Maven Tycho.

Putting the page into standby restores the window's regular layout before
the page is closed. As the page does not come back afterwards, closing it
once per class rather than before every test is sufficient.

The message reported when the focus is missed now also names the control
holding it instead, which tells an inactive window, a competing focus
request and a widget that could never be focused apart.

Fixes eclipse-platform#4349

Assisted-by: Claude Opus 5 <noreply@anthropic.com>
@HeikoKlare
HeikoKlare marked this pull request as ready for review September 4, 2026 15:57
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Test Results

   858 files  ±0     858 suites  ±0   56m 48s ⏱️ - 1m 1s
 8 280 tests ±0   8 037 ✅ ±0  243 💤 ±0  0 ❌ ±0 
20 709 runs  ±0  20 039 ✅ ±0  670 💤 ±0  0 ❌ ±0 

Results for commit 9ba4b22. ± Comparison against base commit b994f34.

@HeikoKlare
HeikoKlare merged commit 667006b into eclipse-platform:master Sep 4, 2026
18 checks passed
@HeikoKlare
HeikoKlare deleted the fix-4349-findreplace-overlay-test-welcome-page branch September 4, 2026 20:03
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.

FindReplaceOverlayInEditorTest failed in I-build

1 participant