mirror of
https://github.com/neovim/neovim.git
synced 2025-11-08 11:35:10 +00:00
functests: Make one recover_spec test also use gdb or valgrind
This commit is contained in:
@@ -47,7 +47,8 @@ describe(':preserve', function()
|
|||||||
|
|
||||||
--TODO(justinmk): this is an ugly hack to force `helpers` to support
|
--TODO(justinmk): this is an ugly hack to force `helpers` to support
|
||||||
--multiple sessions.
|
--multiple sessions.
|
||||||
local nvim2 = helpers.spawn({helpers.nvim_prog, '-u', 'NONE', '--embed'})
|
local nvim2 = helpers.spawn({helpers.nvim_prog, '-u', 'NONE', '--embed'},
|
||||||
|
true)
|
||||||
helpers.set_session(nvim2)
|
helpers.set_session(nvim2)
|
||||||
|
|
||||||
source(init)
|
source(init)
|
||||||
|
|||||||
@@ -178,12 +178,27 @@ local function rawfeed(...)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function spawn(argv)
|
local function merge_args(...)
|
||||||
|
local i = 1
|
||||||
|
local argv = {}
|
||||||
|
for anum = 1,select('#', ...) do
|
||||||
|
local args = select(anum, ...)
|
||||||
|
if args then
|
||||||
|
for _, arg in ipairs(args) do
|
||||||
|
argv[i] = arg
|
||||||
|
i = i + 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return argv
|
||||||
|
end
|
||||||
|
|
||||||
|
local function spawn(argv, merge)
|
||||||
local loop = Loop.new()
|
local loop = Loop.new()
|
||||||
local msgpack_stream = MsgpackStream.new(loop)
|
local msgpack_stream = MsgpackStream.new(loop)
|
||||||
local async_session = AsyncSession.new(msgpack_stream)
|
local async_session = AsyncSession.new(msgpack_stream)
|
||||||
local session = Session.new(async_session)
|
local session = Session.new(async_session)
|
||||||
loop:spawn(argv)
|
loop:spawn(merge and merge_args(prepend_argv, argv) or argv)
|
||||||
return session
|
return session
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -382,4 +397,5 @@ return {
|
|||||||
rmdir = rmdir,
|
rmdir = rmdir,
|
||||||
mkdir = lfs.mkdir,
|
mkdir = lfs.mkdir,
|
||||||
exc_exec = exc_exec,
|
exc_exec = exc_exec,
|
||||||
|
merge_args = merge_args,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ local helpers = require('test.functional.helpers')
|
|||||||
local spawn, set_session, nvim, nvim_prog, nvim_command, nvim_eval =
|
local spawn, set_session, nvim, nvim_prog, nvim_command, nvim_eval =
|
||||||
helpers.spawn, helpers.set_session, helpers.nvim, helpers.nvim_prog,
|
helpers.spawn, helpers.set_session, helpers.nvim, helpers.nvim_prog,
|
||||||
helpers.command, helpers.eval
|
helpers.command, helpers.eval
|
||||||
local write_file = helpers.write_file
|
local write_file, merge_args = helpers.write_file, helpers.merge_args
|
||||||
|
|
||||||
local msgpack = require('MessagePack')
|
local msgpack = require('MessagePack')
|
||||||
|
|
||||||
@@ -16,18 +16,10 @@ local function nvim_argv()
|
|||||||
'--cmd', additional_cmd,
|
'--cmd', additional_cmd,
|
||||||
'--embed'}
|
'--embed'}
|
||||||
if helpers.prepend_argv then
|
if helpers.prepend_argv then
|
||||||
ret = {}
|
return merge_args(helpers.prepend_argv, nvim_argv)
|
||||||
for i, v in ipairs(helpers.prepend_argv) do
|
|
||||||
ret[i] = v
|
|
||||||
end
|
|
||||||
local shift = #ret
|
|
||||||
for i, v in ipairs(nvim_argv) do
|
|
||||||
ret[i + shift] = v
|
|
||||||
end
|
|
||||||
else
|
else
|
||||||
ret = nvim_argv
|
return nvim_argv
|
||||||
end
|
end
|
||||||
return ret
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local session = nil
|
local session = nil
|
||||||
|
|||||||
Reference in New Issue
Block a user