Skip to content

Smoke test: do not wait for a verification the server does not start - #194

Merged
CatarinaGamboa merged 1 commit into
mainfrom
fix/smoke-test-race
Nov 11, 2026
Merged

CatarinaGamboa merged 1 commit into
mainfrom
fix/smoke-test-race

Conversation

@CatarinaGamboa

Copy link
Copy Markdown
Collaborator

Fixes the integration failure on main after #191 (stable) and the earlier ones on #189 (minimum) and #193 (both). Each time it was the same test timing out: smoke.test.ts › "activates, becomes ready, and verifies its isolated fixture".

Cause

The server only verifies when the first file of the workspace is opened (LJDiagnosticsService.didOpen). In the failing fixture, state-errors.test.ts runs first and opens and verifies the fixture. The smoke test then opens FailingRefinement.java and waits for a verification that the server never starts. It passed only when a late notification from the earlier test happened to arrive while it waited, which is why it failed on some runs and VS Code versions and not others.

Change

The smoke test waits for the verification on open only when the fixture has not been verified yet. It still runs the manual liquidjava.verify and checks its result as before.

Tests

  • With a 5 s pause at the start of the smoke test, so every earlier notification has arrived: main times out exactly as in CI; this branch passes.
  • Without the pause: xvfb-run -a npm test (VS Code 1.82, the minimum) passes twice in a row, 9 + 1 tests; test:typecheck and lint pass.

🤖 Generated with Claude Code

…st verified the fixture

The server only verifies on the first file opened, so after the state error
test the smoke test waited for diagnostics that never came whenever that
test's notifications had all arrived before it ended.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@CatarinaGamboa
CatarinaGamboa merged commit e333873 into main Nov 11, 2026
3 checks passed
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.

1 participant