aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Hahler <git@thequod.de>2019-07-02 22:44:11 +0200
committerGitHub <noreply@github.com>2019-07-02 22:44:11 +0200
commit5b94a2977a22852f74469337356348fe0fd640c5 (patch)
treefb9c34b62fe2cf1c05c4d78aa0b53d1f0115bb63
parent1c45ba462b7ca0135336d2d1eed52c362779dd42 (diff)
downloadrneovim-5b94a2977a22852f74469337356348fe0fd640c5.tar.gz
rneovim-5b94a2977a22852f74469337356348fe0fd640c5.tar.bz2
rneovim-5b94a2977a22852f74469337356348fe0fd640c5.zip
tests: fix flaky "TermClose event triggers when fast-exiting terminal job stops" (#10377)
[ ERROR ]...neovim/neovim/test/functional/autocmd/termclose_spec.lua @ TermClose event triggers when fast-exiting terminal job stops test/functional/helpers.lua:96: Vim(call):E900: Invalid channel id stack traceback: test/functional/helpers.lua:96: in function 'request' test/functional/helpers.lua:254: in function 'command' ...neovim/neovim/test/functional/autocmd/termclose_spec.lua:23: in function <...neovim/neovim/test/functional/autocmd/termclose_spec.lua:20>
-rw-r--r--test/functional/autocmd/termclose_spec.lua9
1 files changed, 5 insertions, 4 deletions
diff --git a/test/functional/autocmd/termclose_spec.lua b/test/functional/autocmd/termclose_spec.lua
index 62eac59b16..26f2b5da1b 100644
--- a/test/functional/autocmd/termclose_spec.lua
+++ b/test/functional/autocmd/termclose_spec.lua
@@ -3,8 +3,8 @@ local helpers = require('test.functional.helpers')(after_each)
local clear, command, nvim, nvim_dir =
helpers.clear, helpers.command, helpers.nvim, helpers.nvim_dir
-local eval, eq, retry =
- helpers.eval, helpers.eq, helpers.retry
+local eval, eq, neq, retry =
+ helpers.eval, helpers.eq, helpers.neq, helpers.retry
local ok = helpers.ok
local feed = helpers.feed
local iswin = helpers.iswin
@@ -20,8 +20,9 @@ describe('TermClose event', function()
it('triggers when fast-exiting terminal job stops', function()
command('autocmd TermClose * let g:test_termclose = 23')
command('terminal')
- command('call jobstop(b:terminal_job_id)')
- retry(nil, nil, function() eq(23, eval('g:test_termclose')) end)
+ -- shell-test exits immediately.
+ retry(nil, nil, function() neq(-1, eval('jobwait([&channel], 0)[0]')) end)
+ eq(23, eval('g:test_termclose'))
end)
it('triggers when long-running terminal job gets stopped', function()