diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2016-08-04 20:59:51 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-04 20:59:51 -0400 |
commit | fe6ec757257dccee88f03deb767bc3a1d86c2351 (patch) | |
tree | 2fe2320671d74367fb1f1951f836cd457278472e /test/functional/helpers.lua | |
parent | d622e9c41635d9c0a65b8725e49ce476838d1aa2 (diff) | |
parent | 56fcabbd05b85388f2f5188fd1284bcff1ba67a2 (diff) | |
download | rneovim-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.lua | 38 |
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(...) |