mirror of
https://github.com/neovim/neovim.git
synced 2026-08-27 01:21:48 +00:00
test(harness): avoid overlong socket filename #41488
Problem:
Test sockets live under `$TMPDIR`, which the harness points at the build
dir. On macOS/BSD `sockaddr_un.sun_path` is 104 bytes, and a CI build
path plus "nvim.<pid>.<n>" leaves little room:
/Users/runner/work/neovim/neovim/build/Xtest_tmpdir_terminal/nvim.runner/aBcDeF/nvim.12345.0
Solution:
Point XDG_RUNTIME_DIR (`stdpath('run')`) at "/tmp/nvim_<pid>". 28 bytes:
/tmp/nvim_19916/nvim.19919.1
TODO?:
- `TEMP_DIR_NAMES` prefers `$TMPDIR` over `/tmp`, so on macOS
`stdpath('run')` defaults to the long `/var/folders/<xx>/<…>/T/` path
instead of the short `/tmp` alias.
Note:
- The 104-byte limit applies to the `bind()` arg, not its "realpath",
to, so `/tmp/…` symlinks can be used to workaround the limit.
This commit is contained in:
@@ -206,6 +206,8 @@ function M.setup_child_nvim(args, opts)
|
||||
local env = t.shallowcopy(opts.env) or {}
|
||||
env.VIMRUNTIME = env.VIMRUNTIME or os.getenv('VIMRUNTIME')
|
||||
env.NVIM_TEST = env.NVIM_TEST or os.getenv('NVIM_TEST')
|
||||
-- Child servers need the socket dir set by runner.lua.
|
||||
env.XDG_RUNTIME_DIR = env.XDG_RUNTIME_DIR or os.getenv('XDG_RUNTIME_DIR')
|
||||
|
||||
return M.setup_screen(opts.extra_rows, argv, opts.cols, env)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user