test: harden windows lsp test cleanup

This commit is contained in:
MotorwaySouth9
2026-01-16 09:02:02 +08:00
parent ca2f8059a6
commit 7b9e20f2fa
2 changed files with 24 additions and 16 deletions

View File

@@ -22,15 +22,17 @@ describe("lsp check", () => {
// #given
const spawnSpy = spyOn(Bun, "spawn")
// #when getting servers info
await lsp.getLspServersInfo()
try {
// #when getting servers info
await lsp.getLspServersInfo()
// #then should not spawn which
const calls = spawnSpy.mock.calls
const whichCalls = calls.filter((c) => Array.isArray(c) && Array.isArray(c[0]) && c[0][0] === "which")
expect(whichCalls.length).toBe(0)
spawnSpy.mockRestore()
// #then should not spawn which
const calls = spawnSpy.mock.calls
const whichCalls = calls.filter((c) => Array.isArray(c) && Array.isArray(c[0]) && c[0][0] === "which")
expect(whichCalls.length).toBe(0)
} finally {
spawnSpy.mockRestore()
}
})
})

View File

@@ -24,14 +24,20 @@ describe("isServerInstalled", () => {
console.error(`Failed to clean up temp dir: ${e}`)
}
const keys = ["PATH", "Path", "PATHEXT"]
for (const key of keys) {
const val = savedEnv[key]
if (val === undefined) {
delete process.env[key]
} else {
process.env[key] = val
}
const pathVal = savedEnv.PATH ?? savedEnv.Path
if (pathVal === undefined) {
delete process.env.PATH
delete process.env.Path
} else {
process.env.PATH = pathVal
process.env.Path = pathVal
}
const pathextVal = savedEnv.PATHEXT
if (pathextVal === undefined) {
delete process.env.PATHEXT
} else {
process.env.PATHEXT = pathextVal
}
})