aboutsummaryrefslogtreecommitdiff
path: root/test/functional/helpers.lua
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-07-19 19:36:29 +0800
committerzeertzjq <zeertzjq@outlook.com>2022-07-19 19:41:07 +0800
commit72dfd57e5f45357db36155b79d7873cd0fc3dfaf (patch)
tree73e80635ccc97ffcf41c711fae4a7a8db68c1a1e /test/functional/helpers.lua
parent366e90cdc84a4b698028eb73d590297faec799f2 (diff)
downloadrneovim-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.lua20
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.