From 5b94a2977a22852f74469337356348fe0fd640c5 Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Tue, 2 Jul 2019 22:44:11 +0200 Subject: [PATCH] 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> --- test/functional/autocmd/termclose_spec.lua | 9 +++++---- 1 file 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()