aboutsummaryrefslogtreecommitdiff
path: root/test/functional/helpers.lua
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2015-08-15 17:25:10 +0300
committerZyX <kp-pav@yandex.ru>2015-10-08 22:00:45 +0300
commitb249529676306760b5cd99a4707e6bf246f8b99b (patch)
tree511a5006699c0070549fd0ab4dd7fb86bbdb0082 /test/functional/helpers.lua
parent804e0740964bf84891d798d36d82a5c7ffa462f2 (diff)
downloadrneovim-b249529676306760b5cd99a4707e6bf246f8b99b.tar.gz
rneovim-b249529676306760b5cd99a4707e6bf246f8b99b.tar.bz2
rneovim-b249529676306760b5cd99a4707e6bf246f8b99b.zip
functests: Make one recover_spec test also use gdb or valgrind
Diffstat (limited to 'test/functional/helpers.lua')
-rw-r--r--test/functional/helpers.lua20
1 files changed, 18 insertions, 2 deletions
diff --git a/test/functional/helpers.lua b/test/functional/helpers.lua
index 23581ba4d2..79f1feb7b5 100644
--- a/test/functional/helpers.lua
+++ b/test/functional/helpers.lua
@@ -178,12 +178,27 @@ local function rawfeed(...)
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 msgpack_stream = MsgpackStream.new(loop)
local async_session = AsyncSession.new(msgpack_stream)
local session = Session.new(async_session)
- loop:spawn(argv)
+ loop:spawn(merge and merge_args(prepend_argv, argv) or argv)
return session
end
@@ -382,4 +397,5 @@ return {
rmdir = rmdir,
mkdir = lfs.mkdir,
exc_exec = exc_exec,
+ merge_args = merge_args,
}