From 0a562d7832bbbb6d18dfe9d54c01a90dc36bdb14 Mon Sep 17 00:00:00 2001 From: SimonKimDev Date: Sun, 18 Oct 2026 22:35:11 -0700 Subject: [PATCH] Stop the smoke test hanging on Roslyn's daemon Roslyn runs as a daemon that stays alive 15 minutes after its last client and inherits Neovim's output handles. With Roslyn installed, a smoke run whose output is redirected (as in CI) finished but didn't return until the daemon exited. Set its keepalive to 0 for smoke runs. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 90315f97-7c82-4bc1-9bf1-2f8460782554 --- tests/smoke.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/smoke.lua b/tests/smoke.lua index b9e9f3f..08ade73 100644 --- a/tests/smoke.lua +++ b/tests/smoke.lua @@ -2,6 +2,10 @@ -- Must run via --cmd so the error hooks are installed before init.lua: -- nvim --headless --cmd "luafile tests/smoke.lua" +-- Roslyn runs as a daemon that outlives Neovim by 15 minutes and inherits its output handles, so a redirected run +-- (CI, scripts) would hang until it exits. Make it exit with its last client. +vim.env.ROSLYN_LANGUAGE_SERVER_DAEMON_KEEPALIVE = "0" + -- Mason package downloads depend on the network and upstream registries (e.g. npm ETARGET), not on this config. local ignored = { "^[%w_.%-]+: failed to install$", -- mason-tool-installer