tests: fix flaky "TUI FocusGained/FocusLost in terminal-mode" #10754

* longer timeout with first expect
* Wait for :term to be ready

Failure seen on quickbuild (note the "retry() attempts: 1"):

    09:41:07,627  INFO  - # test/functional/terminal/tui_spec.lua @ 437: TUI FocusGained/FocusLost in terminal-mode
    09:41:07,627  INFO  - not ok 2976 - TUI FocusGained/FocusLost in terminal-mode
    09:41:07,627  INFO  - # test/functional/terminal/tui_spec.lua @ 437
    09:41:07,627  INFO  - # Failure message: ./test/functional/helpers.lua:403:
    09:41:07,627  INFO  - # retry() attempts: 1
    09:41:07,627  INFO  - # ./test/functional/ui/screen.lua:579: Row 1 did not match.
    09:41:07,627  INFO  - # Expected:
    09:41:07,627  INFO  - # |*{1:r}eady $ |
    09:41:07,627  INFO  - # |[Process exited 0] |
    09:41:07,627  INFO  - # | |
    09:41:07,627  INFO  - # | |
    09:41:07,627  INFO  - # | |
    09:41:07,627  INFO  - # |gained |
    09:41:07,628  INFO  - # |{3:-- TERMINAL --} |
    09:41:07,628  INFO  - # Actual:
    09:41:07,628  INFO  - # |*{1: } |
    09:41:07,628  INFO  - # |{4:~ }|
    09:41:07,628  INFO  - # |{4:~ }|
    09:41:07,628  INFO  - # |{4:~ }|
    09:41:07,628  INFO  - # |{5:[No Name] }|
    09:41:07,628  INFO  - # | |
    09:41:07,628  INFO  - # |{3:-- TERMINAL --} |
    09:41:07,628  INFO  - #
    09:41:07,628  INFO  - # To print the expect() call that would assert the current screen state, use
    09:41:07,628  INFO  - # screen:snapshot_util(). In case of non-deterministic failures, use
    09:41:07,628  INFO  - # screen:redraw_debug() to show all intermediate screen states.
    09:41:07,628  INFO  - # stack traceback:
    09:41:07,628  INFO  - #     ./test/functional/helpers.lua:403: in function 'retry'
    09:41:07,628  INFO  - #     test/functional/terminal/tui_spec.lua:441: in function <test/functional/terminal/tui_spec.lua:437>
This commit is contained in:
Daniel Hahler 2019-09-08 07:40:38 +02:00 committed by Justin M. Keyes
parent 3dbd94dafa
commit fa90f6cdaa

View File

@ -850,34 +850,31 @@ describe('TUI FocusGained/FocusLost', function()
feed_data(':set shell='..nvim_dir..'/shell-test\n') feed_data(':set shell='..nvim_dir..'/shell-test\n')
feed_data(':set noshowmode laststatus=0\n') feed_data(':set noshowmode laststatus=0\n')
retry(2, 3 * screen.timeout, function() feed_data(':terminal\n')
feed_data(':terminal\n') -- Wait for terminal to be ready.
screen:sleep(1) screen:expect{any='-- TERMINAL --'}
feed_data('\027[I')
screen:expect([[
{1:r}eady $ |
[Process exited 0] |
|
|
|
gained |
{3:-- TERMINAL --} |
]])
feed_data('\027[O')
screen:expect([[
{1:r}eady $ |
[Process exited 0] |
|
|
|
lost |
{3:-- TERMINAL --} |
]])
-- If retry is needed... feed_data('\027[I')
feed_data("\034\016") -- CTRL-\ CTRL-N screen:expect{grid=[[
feed_data(':bwipeout!\n') {1:r}eady $ |
end) [Process exited 0] |
|
|
|
gained |
{3:-- TERMINAL --} |
]], timeout=(3 * screen.timeout)}
feed_data('\027[O')
screen:expect([[
{1:r}eady $ |
[Process exited 0] |
|
|
|
lost |
{3:-- TERMINAL --} |
]])
end) end)
it('in press-enter prompt', function() it('in press-enter prompt', function()