diff options
author | Daniel Hahler <git@thequod.de> | 2019-07-02 22:44:11 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-02 22:44:11 +0200 |
commit | 5b94a2977a22852f74469337356348fe0fd640c5 (patch) | |
tree | fb9c34b62fe2cf1c05c4d78aa0b53d1f0115bb63 | |
parent | 1c45ba462b7ca0135336d2d1eed52c362779dd42 (diff) | |
download | rneovim-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.lua | 9 |
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() |