What happened
On run 31291396179, the UI test suite failed three times. Each attempt failed at the first assertion of the core path check:
Error: Timed out after 45000 ms waiting for a Run request lens above each of the two blocks
The failure screenshots show the cause. The editor buffer for core-path.fsx held two copies of the fixture. The second copy starts at line 30. The fixture defines two request blocks, so a doubled buffer renders four CodeLenses. tryRunRequestLensAboveEachBlock asserts a count of exactly two, so the predicate could never hold.
The check then used the full 45 s lens deadline. PerCheckBudgetMs is also 45 s, so the harness reported a second failure in afterEach at 50036 ms. Both errors have one cause.
What the evidence rules out
- The commit. Commit
e5b5f84 failed, then passed on a re-run with no change to the code. Run 31291396179 records both results.
- The fixture file.
tests/ui.Tests/fixtures/core-path.fsx contains 29 lines on main, on the branch, and on the pull request merge ref.
- State from an earlier run. The workflow caches the VSCode and chromedriver binaries only.
run.sh deletes $STORAGE/settings before each attempt.
- The extension. The check failed before it clicked a lens, so no Run occurred. FsHttp.Studio never wrote to the buffer.
What the evidence does not explain
The failure repeated on all three attempts of the retry action, and each attempt started from a new VSCode profile. This behavior is not an intermittent fault. The same commit then passed on a different runner.
The cause is therefore in the ExTester, openResource, or xvfb layer. This issue records the evidence. It does not ask for a fix.
Why this issue exists
The condition is expensive to reconstruct later. This issue holds the run IDs and the screenshots so that a second occurrence has a place to land.
What to do on a recurrence
- Download the failure screenshots from the run artifacts.
- Confirm whether the editor buffer holds more than one copy of the fixture.
- Add the run ID to this issue.
- If the condition repeats on more than one runner, open a ticket for a fix.
Related
Issue #174 improves the failure message so that a recurrence names the observed lens count in the log.
What happened
On run 31291396179, the UI test suite failed three times. Each attempt failed at the first assertion of the core path check:
The failure screenshots show the cause. The editor buffer for
core-path.fsxheld two copies of the fixture. The second copy starts at line 30. The fixture defines two request blocks, so a doubled buffer renders four CodeLenses.tryRunRequestLensAboveEachBlockasserts a count of exactly two, so the predicate could never hold.The check then used the full 45 s lens deadline.
PerCheckBudgetMsis also 45 s, so the harness reported a second failure inafterEachat 50036 ms. Both errors have one cause.What the evidence rules out
e5b5f84failed, then passed on a re-run with no change to the code. Run 31291396179 records both results.tests/ui.Tests/fixtures/core-path.fsxcontains 29 lines onmain, on the branch, and on the pull request merge ref.run.shdeletes$STORAGE/settingsbefore each attempt.What the evidence does not explain
The failure repeated on all three attempts of the retry action, and each attempt started from a new VSCode profile. This behavior is not an intermittent fault. The same commit then passed on a different runner.
The cause is therefore in the ExTester,
openResource, or xvfb layer. This issue records the evidence. It does not ask for a fix.Why this issue exists
The condition is expensive to reconstruct later. This issue holds the run IDs and the screenshots so that a second occurrence has a place to land.
What to do on a recurrence
Related
Issue #174 improves the failure message so that a recurrence names the observed lens count in the log.