From a662af94df3e628645bca2ca223b90e5f88bc2a6 Mon Sep 17 00:00:00 2001 From: Tianyi Cui <53024+tianyicui@users.noreply.github.com> Date: Thu, 30 Jul 2026 19:08:07 +0800 Subject: [PATCH] test(lsp): accept eager dead-slot eviction --- packages/lsp/lsp-local/tests/lifecycle.spec.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/lsp/lsp-local/tests/lifecycle.spec.ts b/packages/lsp/lsp-local/tests/lifecycle.spec.ts index 7a30232e22..20c4bc7bf0 100644 --- a/packages/lsp/lsp-local/tests/lifecycle.spec.ts +++ b/packages/lsp/lsp-local/tests/lifecycle.spec.ts @@ -282,8 +282,9 @@ describe('lsp-local end to end over a fake server', () => { readonly instances: ReadonlyMap }).instances const instance = [...instances.values()][0] - if (instance === undefined) throw new Error('expected one pooled LSP instance') - await waitFor(async () => instance.dead) + // The query's finally may already have observed the exit and evicted the dead slot. When the + // slot remains, synchronize with its close before proving the next query replaces it. + if (instance !== undefined) await waitFor(async () => instance.dead) expect(await ctx.lsp.query(query('goToDefinition'))).toMatchObject({ kind: 'locations' }) await ctx.fiber.dispose() })