Fix two more flaky tests (#11095)

* mode_spec: retry with increasing matchtime

`matchtime=2` might still be too low (with luacov on AppVeyor).

    [  ERROR   ] test/functional\ui\mode_spec.lua @ 47: ui mode_change event works in insert mode
    test\functional\ui\screen.lua:587: mode
    Expected objects to be the same.
    Passed in:
    (string) 'insert'
    Expected:
    (string) 'showmatch'
    Hint: full state of "mode":
      "insert"

Followup to fe60013fb.
ref #10941
Initially regressed in 7ed2122622

``

* ui/screen_basic_spec: set timeoutlen=10000

This fixes the test on slow CI.

Ref: https://ci.appveyor.com/project/neovim/neovim/builds/27600387/job/t468h2b3w9lwtlm5#L10930
This commit is contained in:
Daniel Hahler
2019-09-26 07:37:51 +02:00
committed by GitHub
parent cb25207171
commit 54c66e636a
2 changed files with 29 additions and 21 deletions

View File

@@ -3,6 +3,7 @@ local Screen = require('test.functional.ui.screen')
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
local command = helpers.command
local retry = helpers.retry
describe('ui mode_change event', function()
local screen
@@ -61,30 +62,36 @@ describe('ui mode_change event', function()
|
]], mode="normal"}
local matchtime = 0
command("set showmatch")
command("set matchtime=2") -- tenths of seconds
feed('a(stuff')
screen:expect{grid=[[
word(stuff^ |
{0:~ }|
{0:~ }|
{2:-- INSERT --} |
]], mode="insert"}
retry(nil, nil, function()
matchtime = matchtime + 1
local screen_timeout = 1000 * matchtime -- fail faster for retry.
feed(')')
screen:expect{grid=[[
word^(stuff) |
{0:~ }|
{0:~ }|
{2:-- INSERT --} |
]], mode="showmatch"}
command("set matchtime=" .. matchtime) -- tenths of seconds
feed('a(stuff')
screen:expect{grid=[[
word(stuff^ |
{0:~ }|
{0:~ }|
{2:-- INSERT --} |
]], mode="insert", timeout=screen_timeout}
screen:expect{grid=[[
word(stuff)^ |
{0:~ }|
{0:~ }|
{2:-- INSERT --} |
]], mode="insert"}
feed(')')
screen:expect{grid=[[
word^(stuff) |
{0:~ }|
{0:~ }|
{2:-- INSERT --} |
]], mode="showmatch", timeout=screen_timeout}
screen:expect{grid=[[
word(stuff)^ |
{0:~ }|
{0:~ }|
{2:-- INSERT --} |
]], mode="insert", timeout=screen_timeout}
end)
end)
it('works in replace mode', function()

View File

@@ -915,6 +915,7 @@ local function screen_tests(linegrid)
-- Regression test for #8357
it('does not have artifacts after temporary chars in insert mode', function()
command('set timeoutlen=10000')
command('inoremap jk <esc>')
feed('ifooj')
screen:expect([[