test: use poke_eventloop() instead of sleep(10) where possible (#19794)

Using sleep(10) to wait for typeahead to finish is flaky, especially on
macOS, where legacy/global_spec.lua has failed several times.
This commit is contained in:
zeertzjq
2022-08-16 15:21:46 +08:00
committed by GitHub
parent a63eea3d23
commit cf3b871fa9
4 changed files with 19 additions and 21 deletions

View File

@@ -2,6 +2,7 @@ local helpers = require('test.functional.helpers')(after_each)
local Screen = require('test.functional.ui.screen')
local clear, feed, source = helpers.clear, helpers.feed, helpers.source
local command = helpers.command
local poke_eventloop = helpers.poke_eventloop
local sleep = helpers.sleep
describe("CTRL-C (mapped)", function()
@@ -57,11 +58,9 @@ describe("CTRL-C (mapped)", function()
it('interrupts :sleep', function()
command('nnoremap <C-C> <Nop>')
feed(':sleep 100<CR>')
-- wait for :sleep to start
sleep(10)
poke_eventloop() -- wait for :sleep to start
feed('foo<C-C>')
-- wait for input buffer to be flushed
sleep(10)
poke_eventloop() -- wait for input buffer to be flushed
feed('i')
screen:expect([[
^ |
@@ -77,10 +76,9 @@ describe("CTRL-C (mapped)", function()
command('nnoremap <C-C> <Nop>')
command('nmap <F2> <Ignore><F2>')
feed('<F2>')
sleep(10)
sleep(10) -- wait for the key to enter typeahead
feed('foo<C-C>')
-- wait for input buffer to be flushed
sleep(10)
poke_eventloop() -- wait for input buffer to be flushed
feed('i')
screen:expect([[
^ |