mirror of
https://github.com/neovim/neovim.git
synced 2026-04-19 14:00:49 +00:00
refactor(tests): merge n.spawn/n.spawn_argv into n.new_session #31859
Problem:
- `n.spawn()` is misleading because it also connects RPC, it's not just
"spawning" a process.
- It's confusing that `n.spawn()` and `n.spawn_argv()` are separate.
Solution:
- Replace `n.spawn()`/`n.spawn_argv()` with a single function `n.new_session()`.
This name aligns with the existing functions `n.set_session`/`n.get_session`.
- Note: removes direct handling of `prepend_argv`, but I doubt that was
important or intentional. If callers want to control use of `prepend_argv`
then we should add a new flag to `test.session.Opts`.
- Move `keep` to first parameter of `n.new_session()`.
- Add a `merge` flag to `test.session.Opts`
- Mark `_new_argv()` as private. Test should use clear/new_session/spawn_wait
instead.
This commit is contained in:
@@ -9,7 +9,6 @@ local nvim_prog, command, fn = n.nvim_prog, n.command, n.fn
|
||||
local source, next_msg = n.source, n.next_msg
|
||||
local ok = t.ok
|
||||
local api = n.api
|
||||
local spawn, merge_args = n.spawn, n.merge_args
|
||||
local set_session = n.set_session
|
||||
local pcall_err = t.pcall_err
|
||||
local assert_alive = n.assert_alive
|
||||
@@ -281,10 +280,9 @@ describe('server -> client', function()
|
||||
end)
|
||||
|
||||
describe('connecting to another (peer) nvim', function()
|
||||
local nvim_argv = merge_args(n.nvim_argv, { '--headless' })
|
||||
local function connect_test(server, mode, address)
|
||||
local serverpid = fn.getpid()
|
||||
local client = spawn(nvim_argv, false, nil, true)
|
||||
local client = n.new_session(true)
|
||||
set_session(client)
|
||||
|
||||
local clientpid = fn.getpid()
|
||||
@@ -312,7 +310,7 @@ describe('server -> client', function()
|
||||
end
|
||||
|
||||
it('via named pipe', function()
|
||||
local server = spawn(nvim_argv)
|
||||
local server = n.new_session(false)
|
||||
set_session(server)
|
||||
local address = fn.serverlist()[1]
|
||||
local first = string.sub(address, 1, 1)
|
||||
@@ -321,7 +319,7 @@ describe('server -> client', function()
|
||||
end)
|
||||
|
||||
it('via ipv4 address', function()
|
||||
local server = spawn(nvim_argv)
|
||||
local server = n.new_session(false)
|
||||
set_session(server)
|
||||
local status, address = pcall(fn.serverstart, '127.0.0.1:')
|
||||
if not status then
|
||||
@@ -332,7 +330,7 @@ describe('server -> client', function()
|
||||
end)
|
||||
|
||||
it('via ipv6 address', function()
|
||||
local server = spawn(nvim_argv)
|
||||
local server = n.new_session(false)
|
||||
set_session(server)
|
||||
local status, address = pcall(fn.serverstart, '::1:')
|
||||
if not status then
|
||||
@@ -343,7 +341,7 @@ describe('server -> client', function()
|
||||
end)
|
||||
|
||||
it('via hostname', function()
|
||||
local server = spawn(nvim_argv)
|
||||
local server = n.new_session(false)
|
||||
set_session(server)
|
||||
local address = fn.serverstart('localhost:')
|
||||
eq('localhost:', string.sub(address, 1, 10))
|
||||
@@ -351,10 +349,10 @@ describe('server -> client', function()
|
||||
end)
|
||||
|
||||
it('does not crash on receiving UI events', function()
|
||||
local server = spawn(nvim_argv)
|
||||
local server = n.new_session(false)
|
||||
set_session(server)
|
||||
local address = fn.serverlist()[1]
|
||||
local client = spawn(nvim_argv, false, nil, true)
|
||||
local client = n.new_session(true)
|
||||
set_session(client)
|
||||
|
||||
local id = fn.sockconnect('pipe', address, { rpc = true })
|
||||
|
||||
Reference in New Issue
Block a user