aboutsummaryrefslogtreecommitdiff
path: root/test/functional/helpers.lua
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2016-08-04 20:59:51 -0400
committerGitHub <noreply@github.com>2016-08-04 20:59:51 -0400
commitfe6ec757257dccee88f03deb767bc3a1d86c2351 (patch)
tree2fe2320671d74367fb1f1951f836cd457278472e /test/functional/helpers.lua
parentd622e9c41635d9c0a65b8725e49ce476838d1aa2 (diff)
parent56fcabbd05b85388f2f5188fd1284bcff1ba67a2 (diff)
downloadrneovim-fe6ec757257dccee88f03deb767bc3a1d86c2351.tar.gz
rneovim-fe6ec757257dccee88f03deb767bc3a1d86c2351.tar.bz2
rneovim-fe6ec757257dccee88f03deb767bc3a1d86c2351.zip
Merge #4964 from ZyX-I/no-xdg-expand
option: Do not expand options, obtained from XDG vars
Diffstat (limited to 'test/functional/helpers.lua')
-rw-r--r--test/functional/helpers.lua38
1 files changed, 34 insertions, 4 deletions
diff --git a/test/functional/helpers.lua b/test/functional/helpers.lua
index 02109d0889..6f43ec817c 100644
--- a/test/functional/helpers.lua
+++ b/test/functional/helpers.lua
@@ -216,17 +216,47 @@ local function merge_args(...)
return argv
end
-local function spawn(argv, merge)
- local child_stream = ChildProcessStream.spawn(merge and merge_args(prepend_argv, argv) or argv)
+local function spawn(argv, merge, env)
+ local child_stream = ChildProcessStream.spawn(
+ merge and merge_args(prepend_argv, argv) or argv,
+ env)
return Session.new(child_stream)
end
local function clear(...)
local args = {unpack(nvim_argv)}
- for _, arg in ipairs({...}) do
+ local new_args
+ local env = nil
+ local opts = select(1, ...)
+ if type(opts) == 'table' then
+ if opts.env then
+ local env_tbl = {}
+ for k, v in pairs(opts.env) do
+ assert(type(k) == 'string')
+ assert(type(v) == 'string')
+ env_tbl[k] = v
+ end
+ for _, k in ipairs({
+ 'HOME',
+ 'ASAN_OPTIONS',
+ 'LD_LIBRARY_PATH', 'PATH',
+ 'NVIM_LOG_FILE',
+ }) do
+ env_tbl[k] = os.getenv(k)
+ end
+ env = {}
+ for k, v in pairs(env_tbl) do
+ env[#env + 1] = k .. '=' .. v
+ end
+ end
+ new_args = opts.args or {}
+ else
+ new_args = {...}
+ end
+ for _, arg in ipairs(new_args) do
table.insert(args, arg)
end
- set_session(spawn(args))
+ set_session(spawn(args, nil, env))
end
local function insert(...)