From 41225fe4f69b507b020d7bf4033e02d3f4fbdd40 Mon Sep 17 00:00:00 2001 From: Thiago de Arruda Date: Fri, 23 Jan 2015 18:06:52 -0300 Subject: [PATCH] test: Fix hanging test suite after failures When a test that fails leaves nvim in a 'Press Enter...' state, the whole suite will hang because the `qa!` command executed before the next test won't be processed until '' is sent. Now the lua client can send a signal with when `Session:exit()` is called, so the `qa!` request is no longer necessary. Also: - Set noswapfile at startup to prevent tests from leaving .s* swap files(should also improve test environment determinism) - Use `assert(false, msg) instead of `error(msg)` to report screen assertion failures. --- test/functional/helpers.lua | 6 +++--- test/functional/ui/screen.lua | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/test/functional/helpers.lua b/test/functional/helpers.lua index c76979e894..ea98ff4ce3 100644 --- a/test/functional/helpers.lua +++ b/test/functional/helpers.lua @@ -6,7 +6,8 @@ local Session = require('nvim.session') local nvim_prog = os.getenv('NVIM_PROG') or 'build/bin/nvim' local nvim_argv = {nvim_prog, '-u', 'NONE', '-i', 'NONE', '-N', - '--cmd', 'set shortmess+=I background=light', '--embed'} + '--cmd', 'set shortmess+=I background=light noswapfile', + '--embed'} local prepend_argv if os.getenv('VALGRIND') then @@ -153,8 +154,7 @@ end local function clear() if session then - session:request('vim_command', 'qa!') - session:exit() + session:exit(0) end local loop = Loop.new() local msgpack_stream = MsgpackStream.new(loop) diff --git a/test/functional/ui/screen.lua b/test/functional/ui/screen.lua index 29bbe69d8b..3070412e4d 100644 --- a/test/functional/ui/screen.lua +++ b/test/functional/ui/screen.lua @@ -192,7 +192,7 @@ function Screen:wait(check, timeout) err = check() end if err then - error(err) + assert(false, err) end end