mirror of
https://github.com/neovim/neovim.git
synced 2026-05-24 05:40:08 +00:00
Problem: `EBUSY` during cleanup: Windows CI can intermittently fail `pack_spec.lua` with `EBUSY` while removing `site/pack/core/opt/plugindirs`. This can happen because: - the test Nvim session may still be alive when `after_each()` removes the pack directory - Windows does not allow removing a directory while another process still has an open handle below it - startup-time `vim.pack.add()` performs a real `git clone`, so process and file handle release timing can vary on slower runners Startup timeout: The startup tests can also fail before cleanup because they wait for `_G.done` with a fixed timeout. That timeout includes the time needed for startup to run `vim.pack.add()` and finish the local clone. Solution: Close before cleanup: Capture the pack, lockfile, and log paths while the test Nvim session is still available, then call `n.check_close()` before removing the pack directory. Extend Windows startup wait: Increase the `_G.done` retry budget only on Windows so startup-time `vim.pack.add()` has more time to finish on slower CI runners.