aboutsummaryrefslogtreecommitdiff
path: root/test/functional/helpers.lua
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2016-06-26 18:16:54 +0300
committerZyX <kp-pav@yandex.ru>2016-07-10 02:04:27 +0300
commit3878626c056ada19a27fe7f0b0df48a6eea0c9af (patch)
tree9ef7c3eebd2b141f855d647ec74edfc8712ef9ec /test/functional/helpers.lua
parent5fc72882ccf5aefbcfe96f6f895cc8046aa70923 (diff)
downloadrneovim-3878626c056ada19a27fe7f0b0df48a6eea0c9af.tar.gz
rneovim-3878626c056ada19a27fe7f0b0df48a6eea0c9af.tar.bz2
rneovim-3878626c056ada19a27fe7f0b0df48a6eea0c9af.zip
functests: Add tests for XDG defaults
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(...)