-
Notifications
You must be signed in to change notification settings - Fork 321
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Handle flaky UI tests by waiting for the JDT index #3320
Handle flaky UI tests by waiting for the JDT index #3320
Conversation
This reverts commit bdc0d9b.
By the way, I cannot exclude there'll be further flakes. In my first experiments, new flakes came out, and I found that those needed the waiting for the JDT index as well. |
On ci test seems to have timed out. Have restarted them |
There's still a failing test as well.. |
Which one? A specific test? |
the project creation and workspace cleanup are performed by the base class.
the next 2 went through https://ci.eclipse.org/xtext/job/xtext/view/change-requests/job/PR-3320/1/ |
This one is still flaky though: https://github.com/LorenzoBettini/xtext/actions/runs/12903165007/job/35980864838 I don't know what's going on in that test or how it is supposed to work... |
it does
|
Then when it fails because there's no debug information, but the |
Shall I investigate further or are we OK to merge? |
i did not find time to review your stuff yet and wont find soon |
org.eclipse.xtext.ui.testing/src/org/eclipse/xtext/ui/testing/util/IResourcesSetupUtil.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's worth an attempt and merge it.
@szarnekow some updates to this PR: |
Still flaky tests, but I can see that
|
Concerning Concerning |
The assertion failure for the storage 2 URI test was this one:
let's see whether build synchronization fixes that one as well |
Closes #3319
Closes #3065
I added the wait for the JDT index when we do an incremental/full/clean build.
In my fork, in GitHub Actions, this removed the flakyness altogether; I also removed the Maven option to rerun tests.
Currently, the
waitForJdtIndex
is public but we can make it private; otherwise, I'll add the@since
annotation.I think it's better to have it public because I added an explicit call in a test that reads the bytecode: it used to fail in a flaky way due to a NPE when visiting the bytecode; maybe the
.class
file was created but not yet filled.I've also added a utility monitor to log the progress on the console. If you think this could be useful, I'll add the comments and
@since
annotation.In my understanding, JDT added some asynchronicity in the index, and if we don't wait for that explictly, we lose JDT information that makes our UI tests, based on building, flaky.