diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-07-19 19:36:29 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2022-07-19 19:41:07 +0800 |
commit | 72dfd57e5f45357db36155b79d7873cd0fc3dfaf (patch) | |
tree | 73e80635ccc97ffcf41c711fae4a7a8db68c1a1e /test/functional/helpers.lua | |
parent | 366e90cdc84a4b698028eb73d590297faec799f2 (diff) | |
download | rneovim-72dfd57e5f45357db36155b79d7873cd0fc3dfaf.tar.gz rneovim-72dfd57e5f45357db36155b79d7873cd0fc3dfaf.tar.bz2 rneovim-72dfd57e5f45357db36155b79d7873cd0fc3dfaf.zip |
test: deal with RPC call causing Nvim to exit later
Diffstat (limited to 'test/functional/helpers.lua')
-rw-r--r-- | test/functional/helpers.lua | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/test/functional/helpers.lua b/test/functional/helpers.lua index 0c616e73fb..8c5a60657a 100644 --- a/test/functional/helpers.lua +++ b/test/functional/helpers.lua @@ -271,10 +271,22 @@ function module.command(cmd) end --- use for commands which expect nvim to quit -function module.expect_exit(...) - eq("EOF was received from Nvim. Likely the Nvim process crashed.", - module.pcall_err(...)) +-- Use for commands which expect nvim to quit. +-- The first argument can also be a timeout. +function module.expect_exit(fn_or_timeout, ...) + local eof_err_msg = 'EOF was received from Nvim. Likely the Nvim process crashed.' + if type(fn_or_timeout) == 'function' then + eq(eof_err_msg, module.pcall_err(fn_or_timeout, ...)) + else + eq(eof_err_msg, module.pcall_err(function(timeout, fn, ...) + fn(...) + while session:next_message(timeout) do + end + if session.eof_err then + error(session.eof_err[2]) + end + end, fn_or_timeout, ...)) + end end -- Evaluates a VimL expression. |