0
0
mirror of https://github.com/vim/vim.git synced 2025-09-26 04:04:07 -04:00

patch 8.2.0533: tests using term_wait() can still be flaky

Problem:    Tests using term_wait() can still be flaky.
Solution:   Increase the wait time when rerunning a test. (James McCoy,
            closes #5899)  Halve the initial times to make tests run faster
            when there is no rerun.
This commit is contained in:
Bram Moolenaar
2020-04-08 21:50:25 +02:00
parent 7035fd9d90
commit 6a2c5a7dd5
36 changed files with 175 additions and 167 deletions

View File

@@ -24,6 +24,21 @@ func StopShellInTerminal(buf)
call WaitFor({-> job_status(job) == "dead"})
endfunc
" Wrapper around term_wait() to allow more time for re-runs of flaky tests
" The second argument is the minimum time to wait in msec, 10 if omitted.
func TermWait(buf, ...)
let wait_time = a:0 ? a:1 : 10
if g:run_nr == 2
let wait_time *= 4
elseif g:run_nr > 2
let wait_time *= 10
endif
call term_wait(a:buf, wait_time)
" In case it wasn't set yet.
let g:test_is_flaky = 1
endfunc
" Run Vim with "arguments" in a new terminal window.
" By default uses a size of 20 lines and 75 columns.
" Returns the buffer number of the terminal.
@@ -82,7 +97,7 @@ func RunVimInTerminal(arguments, options)
let cols = term_getsize(buf)[1]
endif
call term_wait(buf)
call TermWait(buf)
" Wait for "All" or "Top" of the ruler to be shown in the last line or in
" the status line of the last window. This can be quite slow (e.g. when

View File

@@ -518,7 +518,7 @@ func Test_quit_with_arglist()
call term_sendkeys(buf, ":set nomore\n")
call term_sendkeys(buf, ":args a b c\n")
call term_sendkeys(buf, ":quit\n")
call term_wait(buf)
call TermWait(buf)
call WaitForAssert({-> assert_match('^E173:', term_getline(buf, 6))})
call StopVimInTerminal(buf)
@@ -527,16 +527,16 @@ func Test_quit_with_arglist()
call term_sendkeys(buf, ":set nomore\n")
call term_sendkeys(buf, ":args a b c\n")
call term_sendkeys(buf, ":confirm quit\n")
call term_wait(buf)
call TermWait(buf)
call WaitForAssert({-> assert_match('^\[Y\]es, (N)o: *$',
\ term_getline(buf, 6))})
call term_sendkeys(buf, "N")
call term_wait(buf)
call TermWait(buf)
call term_sendkeys(buf, ":confirm quit\n")
call WaitForAssert({-> assert_match('^\[Y\]es, (N)o: *$',
\ term_getline(buf, 6))})
call term_sendkeys(buf, "Y")
call term_wait(buf)
call TermWait(buf)
call WaitForAssert({-> assert_equal("finished", term_getstatus(buf))})
only!
" When this test fails, swap files are left behind which breaks subsequent

View File

@@ -1761,9 +1761,9 @@ function s:Before_test_dirchanged()
augroup END
let s:li = []
let s:dir_this = getcwd()
let s:dir_foo = s:dir_this . '/foo'
let s:dir_foo = s:dir_this . '/Xfoo'
call mkdir(s:dir_foo)
let s:dir_bar = s:dir_this . '/bar'
let s:dir_bar = s:dir_this . '/Xbar'
call mkdir(s:dir_bar)
endfunc
@@ -2291,9 +2291,9 @@ func Test_autocmd_SafeState()
call WaitForAssert({-> assert_match('^xxx', term_getline(buf, 6))}, 1000)
call term_sendkeys(buf, ":let g:again = ''\<CR>:call CallTimer()\<CR>")
call term_wait(buf, 100)
call TermWait(buf, 50)
call term_sendkeys(buf, ":\<CR>")
call term_wait(buf, 100)
call TermWait(buf, 50)
call term_sendkeys(buf, ":echo g:again\<CR>")
call WaitForAssert({-> assert_match('xtx', term_getline(buf, 6))}, 1000)
@@ -2317,7 +2317,7 @@ func Test_autocmd_CmdWinEnter()
let buf = RunVimInTerminal('-S '.filename, #{rows: 6})
call term_sendkeys(buf, "q:")
call term_wait(buf)
call TermWait(buf)
call term_sendkeys(buf, ":echo b:dummy_var\<cr>")
call WaitForAssert({-> assert_match('^This is a dummy', term_getline(buf, 6))}, 2000)
call term_sendkeys(buf, ":echo &buftype\<cr>")

View File

@@ -32,14 +32,14 @@ func Test_balloon_eval_term()
" Check that the balloon shows up after a mouse move
let buf = RunVimInTerminal('-S XTest_beval', {'rows': 10, 'cols': 50})
call term_wait(buf, 100)
call TermWait(buf, 50)
call term_sendkeys(buf, 'll')
call term_sendkeys(buf, ":call Trigger()\<CR>")
call VerifyScreenDump(buf, 'Test_balloon_eval_term_01', {})
" Make sure the balloon still shows after 'updatetime' passed and CursorHold
" was triggered.
call term_wait(buf, 300)
call TermWait(buf, 150)
call VerifyScreenDump(buf, 'Test_balloon_eval_term_01a', {})
" clean up
@@ -57,7 +57,7 @@ func Test_balloon_eval_term_visual()
" Check that the balloon shows up after a mouse move
let buf = RunVimInTerminal('-S XTest_beval_visual', {'rows': 10, 'cols': 50})
call term_wait(buf, 100)
call TermWait(buf, 50)
call VerifyScreenDump(buf, 'Test_balloon_eval_term_02', {})
" clean up

View File

@@ -164,7 +164,7 @@ func Test_appendbufline_redraw()
END
call writefile(lines, 'XscriptMatchCommon')
let buf = RunVimInTerminal('-S XscriptMatchCommon', #{rows: 10})
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_appendbufline_1', {})
call StopVimInTerminal(buf)

View File

@@ -1062,7 +1062,7 @@ func Test_write_to_buffer_and_scroll()
END
call writefile(lines, 'XtestBufferScroll')
let buf = RunVimInTerminal('-S XtestBufferScroll', #{rows: 10})
call term_wait(buf, 100)
call TermWait(buf, 50)
call VerifyScreenDump(buf, 'Test_job_buffer_scroll_1', {})
" clean up

View File

@@ -947,7 +947,7 @@ func Test_verbose_option()
call writefile(lines, 'XTest_verbose')
let buf = RunVimInTerminal('-S XTest_verbose', {'rows': 12})
call term_wait(buf, 100)
call TermWait(buf, 50)
call term_sendkeys(buf, ":DoSomething\<CR>")
call VerifyScreenDump(buf, 'Test_verbose_option_1', {})
@@ -1024,7 +1024,7 @@ func Test_cmdwin_restore()
call writefile(lines, 'XTest_restore')
let buf = RunVimInTerminal('-S XTest_restore', {'rows': 12})
call term_wait(buf, 100)
call TermWait(buf, 50)
call term_sendkeys(buf, "q:")
call VerifyScreenDump(buf, 'Test_cmdwin_restore_1', {})
@@ -1146,7 +1146,7 @@ func Test_cmdlineclear_tabenter()
call writefile(lines, 'XtestCmdlineClearTabenter')
let buf = RunVimInTerminal('-S XtestCmdlineClearTabenter', #{rows: 10})
call term_wait(buf, 50)
call TermWait(buf, 25)
" in one tab make the command line higher with CTRL-W -
call term_sendkeys(buf, ":tabnew\<cr>\<C-w>-\<C-w>-gtgt")
call VerifyScreenDump(buf, 'Test_cmdlineclear_tabenter', {})

View File

@@ -147,7 +147,7 @@ func Test_conceal_resize_term()
call VerifyScreenDump(buf, 'Test_conceal_resize_01', {})
call win_execute(buf->win_findbuf()[0], 'wincmd +')
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_conceal_resize_02', {})
" clean up

View File

@@ -135,41 +135,41 @@ func Test_cursorline_screenline()
call writefile(lines, filename)
" basic test
let buf = RunVimInTerminal('-S '. filename, #{rows: 20})
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_1', {})
call term_sendkeys(buf, "fagj")
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_2', {})
call term_sendkeys(buf, "gj")
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_3', {})
call term_sendkeys(buf, "gj")
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_4', {})
call term_sendkeys(buf, "gj")
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_5', {})
call term_sendkeys(buf, "gj")
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_6', {})
" test with set list and cursorlineopt containing number
call term_sendkeys(buf, "gg0")
call term_sendkeys(buf, ":set list cursorlineopt+=number listchars=space:-\<cr>")
call VerifyScreenDump(buf, 'Test_'. filename. '_7', {})
call term_sendkeys(buf, "fagj")
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_8', {})
call term_sendkeys(buf, "gj")
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_9', {})
call term_sendkeys(buf, "gj")
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_10', {})
call term_sendkeys(buf, "gj")
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_11', {})
call term_sendkeys(buf, "gj")
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_12', {})
if exists("+foldcolumn") && exists("+signcolumn") && exists("+breakindent")
" test with set foldcolumn signcoloumn and breakindent
@@ -177,19 +177,19 @@ func Test_cursorline_screenline()
call term_sendkeys(buf, ":set breakindent foldcolumn=2 signcolumn=yes\<cr>")
call VerifyScreenDump(buf, 'Test_'. filename. '_13', {})
call term_sendkeys(buf, "fagj")
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_14', {})
call term_sendkeys(buf, "gj")
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_15', {})
call term_sendkeys(buf, "gj")
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_16', {})
call term_sendkeys(buf, "gj")
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_17', {})
call term_sendkeys(buf, "gj")
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_'. filename. '_18', {})
endif

View File

@@ -8,7 +8,7 @@ source check.vim
" If the expected output argument is supplied, then check for it.
func RunDbgCmd(buf, cmd, ...)
call term_sendkeys(a:buf, a:cmd . "\r")
call term_wait(a:buf, 20)
call TermWait(a:buf)
if a:0 != 0
" Verify the expected output

View File

@@ -801,7 +801,7 @@ func VerifyInternal(buf, dumpfile, extra)
call term_sendkeys(a:buf, ":diffupdate!\<CR>")
" trailing : for leaving the cursor on the command line
call term_sendkeys(a:buf, ":set diffopt=internal,filler" . a:extra . "\<CR>:")
call term_wait(a:buf)
call TermWait(a:buf)
call VerifyScreenDump(a:buf, a:dumpfile, {})
endfunc

View File

@@ -174,7 +174,7 @@ func Test_scroll_CursorLineNr_update()
call writefile(lines, filename)
let buf = RunVimInTerminal('-S '.filename, #{rows: 5, cols: 50})
call term_sendkeys(buf, "k")
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_winline_rnu', {})
" clean up

View File

@@ -1858,15 +1858,6 @@ endfunc
func Test_state()
CheckRunVimInTerminal
" In the first run try a short wait time. If the test fails retry with a
" longer wait time.
if g:run_nr == 1
let wait_time = 50
elseif g:run_nr == 2
let wait_time = 200
else
let wait_time = 500
endif
let getstate = ":echo 'state: ' .. g:state .. '; mode: ' .. g:mode\<CR>"
let lines =<< trim END
@@ -1888,27 +1879,27 @@ func Test_state()
" Using a timer callback
call term_sendkeys(buf, ":call RunTimer()\<CR>")
call term_wait(buf, wait_time)
call TermWait(buf, 25)
call term_sendkeys(buf, getstate)
call WaitForAssert({-> assert_match('state: c; mode: n', term_getline(buf, 6))}, 1000)
" Halfway a mapping
call term_sendkeys(buf, ":call RunTimer()\<CR>;")
call term_wait(buf, wait_time)
call TermWait(buf, 25)
call term_sendkeys(buf, ";")
call term_sendkeys(buf, getstate)
call WaitForAssert({-> assert_match('state: mSc; mode: n', term_getline(buf, 6))}, 1000)
" Insert mode completion (bit slower on Mac)
call term_sendkeys(buf, ":call RunTimer()\<CR>Got\<C-N>")
call term_wait(buf, wait_time)
call TermWait(buf, 25)
call term_sendkeys(buf, "\<Esc>")
call term_sendkeys(buf, getstate)
call WaitForAssert({-> assert_match('state: aSc; mode: i', term_getline(buf, 6))}, 1000)
" Autocommand executing
call term_sendkeys(buf, ":set filetype=foobar\<CR>")
call term_wait(buf, wait_time)
call TermWait(buf, 25)
call term_sendkeys(buf, getstate)
call WaitForAssert({-> assert_match('state: xS; mode: n', term_getline(buf, 6))}, 1000)
@@ -1916,7 +1907,7 @@ func Test_state()
" messages scrolled
call term_sendkeys(buf, ":call RunTimer()\<CR>:echo \"one\\ntwo\\nthree\"\<CR>")
call term_wait(buf, wait_time)
call TermWait(buf, 25)
call term_sendkeys(buf, "\<CR>")
call term_sendkeys(buf, getstate)
call WaitForAssert({-> assert_match('state: Scs; mode: r', term_getline(buf, 6))}, 1000)

View File

@@ -542,9 +542,9 @@ func Test_cursorline_after_yank()
\ 'call setline(1, ["","1","2","3",""])',
\ ], 'Xtest_cursorline_yank')
let buf = RunVimInTerminal('-S Xtest_cursorline_yank', {'rows': 8})
call term_wait(buf)
call TermWait(buf)
call term_sendkeys(buf, "Gy3k")
call term_wait(buf)
call TermWait(buf)
call term_sendkeys(buf, "jj")
call VerifyScreenDump(buf, 'Test_cursorline_yank_01', {})
@@ -582,7 +582,7 @@ func Test_cursorline_with_visualmode()
\ 'call setline(1, repeat(["abc"], 50))',
\ ], 'Xtest_cursorline_with_visualmode')
let buf = RunVimInTerminal('-S Xtest_cursorline_with_visualmode', {'rows': 12})
call term_wait(buf)
call TermWait(buf)
call term_sendkeys(buf, "V\<C-f>kkkjk")
call VerifyScreenDump(buf, 'Test_cursorline_with_visualmode_01', {})
@@ -610,9 +610,9 @@ func Test_wincolor()
END
call writefile(lines, 'Xtest_wincolor')
let buf = RunVimInTerminal('-S Xtest_wincolor', {'rows': 8})
call term_wait(buf)
call TermWait(buf)
call term_sendkeys(buf, "2G5lvj")
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_wincolor_01', {})
@@ -662,7 +662,7 @@ func Test_colorcolumn()
call writefile(lines, 'Xtest_colorcolumn')
let buf = RunVimInTerminal('-S Xtest_colorcolumn', {'rows': 10})
call term_sendkeys(buf, ":\<CR>")
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_colorcolumn_1', {})
" clean up

View File

@@ -402,7 +402,7 @@ func Test_pum_with_folds_two_tabs()
call writefile(lines, 'Xpumscript')
let buf = RunVimInTerminal('-S Xpumscript', #{rows: 10})
call term_wait(buf, 100)
call TermWait(buf, 50)
call term_sendkeys(buf, "a\<C-N>")
call VerifyScreenDump(buf, 'Test_pum_with_folds_two_tabs', {})
@@ -427,9 +427,9 @@ func Test_pum_with_preview_win()
call writefile(lines, 'Xpreviewscript')
let buf = RunVimInTerminal('-S Xpreviewscript', #{rows: 12})
call term_wait(buf, 100)
call TermWait(buf, 50)
call term_sendkeys(buf, "Gi\<C-X>\<C-O>")
call term_wait(buf, 200)
call TermWait(buf, 100)
call term_sendkeys(buf, "\<C-N>")
call VerifyScreenDump(buf, 'Test_pum_with_preview_win', {})

View File

@@ -430,9 +430,9 @@ func Test_error_in_map_expr()
" GC must not run during map-expr processing, which can make Vim crash.
call term_sendkeys(buf, '!')
call term_wait(buf, 100)
call TermWait(buf, 50)
call term_sendkeys(buf, "\<CR>")
call term_wait(buf, 100)
call TermWait(buf, 50)
call assert_equal('run', job_status(job))
call term_sendkeys(buf, ":qall!\<CR>")
@@ -510,7 +510,7 @@ func Test_expr_map_restore_cursor()
END
call writefile(lines, 'XtestExprMap')
let buf = RunVimInTerminal('-S XtestExprMap', #{rows: 10})
call term_wait(buf)
call TermWait(buf)
call term_sendkeys(buf, "\<C-B>")
call VerifyScreenDump(buf, 'Test_map_expr_1', {})

View File

@@ -289,7 +289,7 @@ func OtherWindowCommon()
END
call writefile(lines, 'XscriptMatchCommon')
let buf = RunVimInTerminal('-S XscriptMatchCommon', #{rows: 12})
call term_wait(buf)
call TermWait(buf)
return buf
endfunc

View File

@@ -298,14 +298,14 @@ func Test_cursor_column_in_concealed_line_after_window_scroll()
END
call writefile(lines, 'Xcolesearch')
let buf = RunVimInTerminal('Xcolesearch', {})
call term_wait(buf, 100)
call TermWait(buf, 50)
" Jump to something that is beyond the bottom of the window,
" so there's a scroll down.
call term_sendkeys(buf, ":so %\<CR>")
call term_wait(buf, 100)
call TermWait(buf, 50)
call term_sendkeys(buf, "/expr\<CR>")
call term_wait(buf, 100)
call TermWait(buf, 50)
" Are the concealed parts of the current line really hidden?
let cursor_row = term_scrape(buf, '.')->map({_, e -> e.chars})->join('')
@@ -335,7 +335,7 @@ func Test_cursor_column_in_concealed_line_after_leftcol_change()
" Horizontal scroll would center the cursor in the screen line, but conceal
" makes it go to screen column 1.
call term_sendkeys(buf, "$")
call term_wait(buf)
call TermWait(buf)
" Are the concealed parts of the current line really hidden?
call WaitForAssert({-> assert_equal('c', term_getline(buf, '.'))})

View File

@@ -114,7 +114,7 @@ func Test_mode_message_at_leaving_insert_by_ctrl_c()
let rows = 10
let buf = term_start([GetVimProg(), '--clean', '-S', testfile], {'term_rows': rows})
call term_wait(buf, 200)
call TermWait(buf, 100)
call assert_equal('run', job_status(term_getjob(buf)))
call term_sendkeys(buf, "i")
@@ -143,7 +143,7 @@ func Test_mode_message_at_leaving_insert_with_esc_mapped()
let rows = 10
let buf = term_start([GetVimProg(), '--clean', '-S', testfile], {'term_rows': rows})
call term_wait(buf, 200)
call WaitForAssert({-> assert_match('0,0-1\s*All$', term_getline(buf, rows - 1))})
call assert_equal('run', job_status(term_getjob(buf)))
call term_sendkeys(buf, "i")

View File

@@ -280,7 +280,7 @@ func Test_relativenumber_colors()
" Check that the balloon shows up after a mouse move
let buf = RunVimInTerminal('-S XTest_relnr', {'rows': 10, 'cols': 50})
call term_wait(buf, 100)
call TermWait(buf, 50)
" Default colors
call VerifyScreenDump(buf, 'Test_relnr_colors_1', {})

View File

@@ -683,11 +683,11 @@ func Test_popup_and_window_resize()
call term_sendkeys(buf, "Gi\<c-x>")
call term_sendkeys(buf, "\<c-v>")
call term_wait(buf, 100)
call TermWait(buf, 50)
" popup first entry "!" must be at the top
call WaitForAssert({-> assert_match('^!\s*$', term_getline(buf, 1))})
exe 'resize +' . (h - 1)
call term_wait(buf, 100)
call TermWait(buf, 50)
redraw!
" popup shifted down, first line is now empty
call WaitForAssert({-> assert_equal('', term_getline(buf, 1))})
@@ -750,11 +750,11 @@ func Test_popup_and_previewwindow_dump()
let buf = RunVimInTerminal('-S Xscript', {})
" wait for the script to finish
call term_wait(buf)
call TermWait(buf)
" Test that popup and previewwindow do not overlap.
call term_sendkeys(buf, "o")
call term_wait(buf, 100)
call TermWait(buf, 50)
call term_sendkeys(buf, "\<C-X>\<C-N>")
call VerifyScreenDump(buf, 'Test_popup_and_previewwindow_01', {})

View File

@@ -65,9 +65,9 @@ func Test_simple_popup()
" clear all popups after moving the cursor a bit, so that ruler is updated
call term_sendkeys(buf, "axxx\<Esc>")
call term_wait(buf)
call TermWait(buf)
call term_sendkeys(buf, "0")
call term_wait(buf)
call TermWait(buf)
call term_sendkeys(buf, ":call popup_clear()\<CR>")
call VerifyScreenDump(buf, 'Test_popupwin_08', {})
@@ -1389,7 +1389,7 @@ func Test_popup_beval()
END
call writefile(lines, 'XtestPopupBeval')
let buf = RunVimInTerminal('-S XtestPopupBeval', #{rows: 10})
call term_wait(buf, 100)
call TermWait(buf, 50)
call term_sendkeys(buf, 'j')
call term_sendkeys(buf, ":call Hover()\<CR>")
call VerifyScreenDump(buf, 'Test_popupwin_beval_1', {})
@@ -2958,7 +2958,7 @@ func Test_popupmenu_info_border()
call writefile(lines, 'XtestInfoPopup')
let buf = RunVimInTerminal('-S XtestInfoPopup', #{rows: 14})
call term_wait(buf, 50)
call TermWait(buf, 25)
call term_sendkeys(buf, "A\<C-X>\<C-U>")
call VerifyScreenDump(buf, 'Test_popupwin_infopopup_1', {})
@@ -3006,7 +3006,7 @@ func Test_popupmenu_info_noborder()
call writefile(lines, 'XtestInfoPopupNb')
let buf = RunVimInTerminal('-S XtestInfoPopupNb', #{rows: 14})
call term_wait(buf, 50)
call TermWait(buf, 25)
call term_sendkeys(buf, "A\<C-X>\<C-U>")
call VerifyScreenDump(buf, 'Test_popupwin_infopopup_nb_1', {})
@@ -3024,7 +3024,7 @@ func Test_popupmenu_info_align_menu()
call writefile(lines, 'XtestInfoPopupNb')
let buf = RunVimInTerminal('-S XtestInfoPopupNb', #{rows: 14})
call term_wait(buf, 50)
call TermWait(buf, 25)
call term_sendkeys(buf, "A\<C-X>\<C-U>")
call term_sendkeys(buf, "\<C-N>")
@@ -3055,7 +3055,7 @@ func Test_popupmenu_info_hidden()
call writefile(lines, 'XtestInfoPopupHidden')
let buf = RunVimInTerminal('-S XtestInfoPopupHidden', #{rows: 14})
call term_wait(buf, 50)
call TermWait(buf, 25)
call term_sendkeys(buf, "A\<C-X>\<C-U>")
call VerifyScreenDump(buf, 'Test_popupwin_infopopup_hidden_1', {})
@@ -3113,7 +3113,7 @@ func Test_popupmenu_info_too_wide()
call writefile(lines, 'XtestInfoPopupWide')
let buf = RunVimInTerminal('-S XtestInfoPopupWide', #{rows: 8})
call term_wait(buf, 50)
call TermWait(buf, 25)
call term_sendkeys(buf, "Ascr\<C-X>\<C-O>")
call VerifyScreenDump(buf, 'Test_popupwin_infopopup_wide_1', {})

View File

@@ -541,7 +541,7 @@ func Test_profile_typed_func()
\ .. "endfunc\<CR>")
call term_sendkeys(buf, ":profile func DoSomething\<CR>")
call term_sendkeys(buf, ":call DoSomething()\<CR>")
call term_wait(buf, 200)
call TermWait(buf, 100)
call StopVimInTerminal(buf)
let lines = readfile('XprofileTypedFunc')
call assert_equal("FUNCTION DoSomething()", lines[0])

View File

@@ -672,7 +672,7 @@ func Test_search_cmdline8()
call term_sendkeys(buf, "/vim\<cr>")
call term_sendkeys(buf, "/b\<esc>")
call term_sendkeys(buf, "gg0")
call term_wait(buf, 500)
call TermWait(buf, 250)
let screen_line = term_scrape(buf, 1)
let [a0,a1,a2,a3] = [screen_line[3].attr, screen_line[4].attr,
\ screen_line[18].attr, screen_line[19].attr]
@@ -792,12 +792,12 @@ func Test_search_cmdline_incsearch_highlight_attr()
call WaitForAssert({-> assert_equal(lines, [term_getline(buf, 1), term_getline(buf, 2)])})
" wait for vim to complete initialization
call term_wait(buf)
call TermWait(buf)
" Get attr of normal(a0), incsearch(a1), hlsearch(a2) highlight
call term_sendkeys(buf, ":set incsearch hlsearch\<cr>")
call term_sendkeys(buf, '/b')
call term_wait(buf, 200)
call TermWait(buf, 100)
let screen_line1 = term_scrape(buf, 1)
call assert_true(len(screen_line1) > 2)
" a0: attr_normal
@@ -813,7 +813,7 @@ func Test_search_cmdline_incsearch_highlight_attr()
" Test incremental highlight search
call term_sendkeys(buf, "/vim")
call term_wait(buf, 200)
call TermWait(buf, 100)
" Buffer:
" abb vim vim vi
" vimvivim
@@ -825,7 +825,7 @@ func Test_search_cmdline_incsearch_highlight_attr()
" Test <C-g>
call term_sendkeys(buf, "\<C-g>\<C-g>")
call term_wait(buf, 200)
call TermWait(buf, 100)
let attr_line1 = [a0,a0,a0,a0,a2,a2,a2,a0,a2,a2,a2,a0,a0,a0]
let attr_line2 = [a1,a1,a1,a0,a0,a2,a2,a2]
call assert_equal(attr_line1, map(term_scrape(buf, 1)[:len(attr_line1)-1], 'v:val.attr'))
@@ -833,7 +833,7 @@ func Test_search_cmdline_incsearch_highlight_attr()
" Test <C-t>
call term_sendkeys(buf, "\<C-t>")
call term_wait(buf, 200)
call TermWait(buf, 100)
let attr_line1 = [a0,a0,a0,a0,a2,a2,a2,a0,a1,a1,a1,a0,a0,a0]
let attr_line2 = [a2,a2,a2,a0,a0,a2,a2,a2]
call assert_equal(attr_line1, map(term_scrape(buf, 1)[:len(attr_line1)-1], 'v:val.attr'))
@@ -841,7 +841,7 @@ func Test_search_cmdline_incsearch_highlight_attr()
" Type Enter and a1(incsearch highlight) should become a2(hlsearch highlight)
call term_sendkeys(buf, "\<cr>")
call term_wait(buf, 200)
call TermWait(buf, 100)
let attr_line1 = [a0,a0,a0,a0,a2,a2,a2,a0,a2,a2,a2,a0,a0,a0]
let attr_line2 = [a2,a2,a2,a0,a0,a2,a2,a2]
call assert_equal(attr_line1, map(term_scrape(buf, 1)[:len(attr_line1)-1], 'v:val.attr'))
@@ -851,7 +851,7 @@ func Test_search_cmdline_incsearch_highlight_attr()
call term_sendkeys(buf, ":1\<cr>")
call term_sendkeys(buf, ":set nohlsearch\<cr>")
call term_sendkeys(buf, "/vim")
call term_wait(buf, 200)
call TermWait(buf, 100)
let attr_line1 = [a0,a0,a0,a0,a1,a1,a1,a0,a0,a0,a0,a0,a0,a0]
let attr_line2 = [a0,a0,a0,a0,a0,a0,a0,a0]
call assert_equal(attr_line1, map(term_scrape(buf, 1)[:len(attr_line1)-1], 'v:val.attr'))

View File

@@ -202,12 +202,12 @@ func! Test_search_stat_screendump()
END
call writefile(lines, 'Xsearchstat')
let buf = RunVimInTerminal('-S Xsearchstat', #{rows: 10})
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_searchstat_1', {})
call term_sendkeys(buf, ":nnoremap <silent> n n\<cr>")
call term_sendkeys(buf, "gg0n")
call term_wait(buf)
call TermWait(buf)
call VerifyScreenDump(buf, 'Test_searchstat_2', {})
call StopVimInTerminal(buf)

View File

@@ -795,9 +795,9 @@ func Test_missing_vimrc()
let cmd = GetVimCommandCleanTerm() . ' -u Xvimrc_missing -S Xafter'
let buf = term_start(cmd, {'term_rows' : 10})
call WaitForAssert({-> assert_equal("running", term_getstatus(buf))})
call term_wait(buf)
call TermWait(buf)
call term_sendkeys(buf, "\n:")
call term_wait(buf)
call TermWait(buf)
call WaitForAssert({-> assert_match(':', term_getline(buf, 10))})
call StopVimInTerminal(buf)
call assert_equal([], readfile('Xtestout'))

View File

@@ -74,7 +74,7 @@ func Test_detect_ambiwidth()
\ 'redraw',
\ ], 'Xscript')
let buf = RunVimInTerminal('-S Xscript', {})
call term_wait(buf)
call TermWait(buf)
call term_sendkeys(buf, "S\<C-R>=&ambiwidth\<CR>\<Esc>")
call WaitForAssert({-> assert_match('single', term_getline(buf, 1))})

View File

@@ -406,7 +406,7 @@ func Test_statusline_removed_group()
call writefile(lines, 'XTest_statusline')
let buf = RunVimInTerminal('-S XTest_statusline', {'rows': 10, 'cols': 50})
call term_wait(buf, 100)
call TermWait(buf, 50)
call VerifyScreenDump(buf, 'Test_statusline_1', {})
" clean up

View File

@@ -53,7 +53,7 @@ func Test_suspend()
" Quit gracefully to dump coverage information.
call term_sendkeys(buf, ":qall!\<CR>")
call term_wait(buf)
call TermWait(buf)
" Wait until Vim actually exited and shell shows a prompt
call WaitForAssert({-> assert_match('[$#] $', term_getline(buf, '.'))})
call StopShellInTerminal(buf)

View File

@@ -363,14 +363,14 @@ func Test_swap_prompt_splitwin()
call term_sendkeys(buf, ":set nomore\n")
call term_sendkeys(buf, ":set noruler\n")
call term_sendkeys(buf, ":split Xfile1\n")
call term_wait(buf)
call TermWait(buf)
call WaitForAssert({-> assert_match('^\[O\]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort: $', term_getline(buf, 20))})
call term_sendkeys(buf, "q")
call term_wait(buf)
call TermWait(buf)
call term_sendkeys(buf, ":\<CR>")
call WaitForAssert({-> assert_match('^:$', term_getline(buf, 20))})
call term_sendkeys(buf, ":echomsg winnr('$')\<CR>")
call term_wait(buf)
call TermWait(buf)
call WaitForAssert({-> assert_match('^1$', term_getline(buf, 20))})
call StopVimInTerminal(buf)
%bwipe!

View File

@@ -544,7 +544,7 @@ func Test_tselect()
call writefile(lines, 'XTest_tselect')
let buf = RunVimInTerminal('-S XTest_tselect', {'rows': 10, 'cols': 50})
call term_wait(buf, 100)
call TermWait(buf, 50)
call term_sendkeys(buf, ":tselect main\<CR>2\<CR>")
call VerifyScreenDump(buf, 'Test_tselect_1', {})

View File

@@ -44,7 +44,7 @@ func Test_terminal_basic()
call assert_notmatch('%[^\n]*running]', execute('ls ?'))
call StopShellInTerminal(buf)
call term_wait(buf)
call TermWait(buf)
call assert_equal('n', mode())
call assert_match('%aF[^\n]*finished]', execute('ls'))
call assert_match('%aF[^\n]*finished]', execute('ls F'))
@@ -79,7 +79,7 @@ endfunc
func Test_terminal_make_change()
let buf = Run_shell_in_terminal({})
call StopShellInTerminal(buf)
call term_wait(buf)
call TermWait(buf)
setlocal modifiable
exe "normal Axxx\<Esc>"
@@ -117,10 +117,10 @@ endfunc
func Test_terminal_split_quit()
let buf = Run_shell_in_terminal({})
call term_wait(buf)
call TermWait(buf)
split
quit!
call term_wait(buf)
call TermWait(buf)
sleep 50m
call assert_equal('run', job_status(g:job))
@@ -225,7 +225,7 @@ func Test_terminal_scrape_123()
" Nothing happens with invalid buffer number
call term_wait(1234)
call term_wait(buf)
call TermWait(buf)
" On MS-Windows we first get a startup message of two lines, wait for the
" "cls" to happen, after that we have one line with three characters.
call WaitForAssert({-> assert_equal(3, len(term_scrape(buf, 1)))})
@@ -234,7 +234,7 @@ func Test_terminal_scrape_123()
" Must still work after the job ended.
let job = term_getjob(buf)
call WaitForAssert({-> assert_equal("dead", job_status(job))})
call term_wait(buf)
call TermWait(buf)
call Check_123(buf)
exe buf . 'bwipe'
@@ -270,7 +270,7 @@ func Test_terminal_scrape_multibyte()
let job = term_getjob(buf)
call WaitForAssert({-> assert_equal("dead", job_status(job))})
call term_wait(buf)
call TermWait(buf)
exe buf . 'bwipe'
call delete('Xtext')
@@ -287,7 +287,7 @@ func Test_terminal_scroll()
let job = term_getjob(buf)
call WaitForAssert({-> assert_equal("dead", job_status(job))})
call term_wait(buf)
call TermWait(buf)
" wait until the scrolling stops
while 1
@@ -325,7 +325,7 @@ func Test_terminal_scrollback()
call assert_inrange(91, 100, lines)
call StopShellInTerminal(buf)
call term_wait(buf)
call TermWait(buf)
exe buf . 'bwipe'
set termwinscroll&
call delete('Xtext')
@@ -359,10 +359,10 @@ func Test_terminal_postponed_scrollback()
" stop "tail -f"
call term_sendkeys(buf, "\<C-C>")
call term_wait(buf, 50)
call TermWait(buf, 25)
" stop shell
call term_sendkeys(buf, "exit\<CR>")
call term_wait(buf, 100)
call TermWait(buf, 50)
" close terminal window
let tsk_ret = term_sendkeys(buf, ":q\<CR>")
@@ -622,7 +622,7 @@ func s:test_environment(name, value)
else
call term_sendkeys(buf, "echo $" . a:name . "\r")
endif
call term_wait(buf)
call TermWait(buf)
call StopShellInTerminal(buf)
call WaitForAssert({-> assert_equal(a:value, getline(2))})
@@ -639,7 +639,7 @@ func Test_terminal_env()
else
call term_sendkeys(buf, "echo $TESTENV\r")
endif
eval buf->term_wait()
eval buf->TermWait()
call StopShellInTerminal(buf)
call WaitForAssert({-> assert_equal('correct', getline(2))})
@@ -688,7 +688,7 @@ func Test_terminal_noblock()
let g:job = term_getjob(buf)
call StopShellInTerminal(buf)
call term_wait(buf)
call TermWait(buf)
unlet g:job
bwipe
endfunc
@@ -813,7 +813,7 @@ endfunc
func Test_terminal_redir_file()
let cmd = Get_cat_123_cmd()
let buf = term_start(cmd, {'out_io': 'file', 'out_name': 'Xfile'})
call term_wait(buf)
call TermWait(buf)
" ConPTY may precede escape sequence. There are things that are not so.
if !has('conpty')
call WaitForAssert({-> assert_notequal(0, len(readfile("Xfile")))})
@@ -827,7 +827,7 @@ func Test_terminal_redir_file()
if has('unix')
call writefile(['one line'], 'Xfile')
let buf = term_start('cat', {'in_io': 'file', 'in_name': 'Xfile'})
call term_wait(buf)
call TermWait(buf)
call WaitForAssert({-> assert_equal('one line', term_getline(buf, 1))})
let g:job = term_getjob(buf)
call WaitForAssert({-> assert_equal('dead', job_status(g:job))})
@@ -860,7 +860,7 @@ func TerminalTmap(remap)
call term_sendkeys(buf, "\r")
call StopShellInTerminal(buf)
call term_wait(buf)
call TermWait(buf)
tunmap 123
tunmap 456
@@ -878,7 +878,7 @@ func Test_terminal_wall()
let buf = Run_shell_in_terminal({})
wall
call StopShellInTerminal(buf)
call term_wait(buf)
call TermWait(buf)
exe buf . 'bwipe'
unlet g:job
endfunc
@@ -887,7 +887,7 @@ func Test_terminal_wqall()
let buf = Run_shell_in_terminal({})
call assert_fails('wqall', 'E948')
call StopShellInTerminal(buf)
call term_wait(buf)
call TermWait(buf)
exe buf . 'bwipe'
unlet g:job
endfunc
@@ -908,7 +908,7 @@ func Test_terminal_composing_unicode()
enew
let buf = term_start(cmd, {'curwin': bufnr('')})
let g:job = term_getjob(buf)
call term_wait(buf, 50)
call TermWait(buf, 25)
if has('win32')
call assert_equal('cmd', job_info(g:job).cmd[0])
@@ -919,7 +919,7 @@ func Test_terminal_composing_unicode()
" ascii + composing
let txt = "a\u0308bc"
call term_sendkeys(buf, "echo " . txt . "\r")
call term_wait(buf, 50)
call TermWait(buf, 25)
call assert_match("echo " . txt, term_getline(buf, lnum[0]))
call assert_equal(txt, term_getline(buf, lnum[0] + 1))
let l = term_scrape(buf, lnum[0] + 1)
@@ -930,7 +930,7 @@ func Test_terminal_composing_unicode()
" multibyte + composing
let txt = "\u304b\u3099\u304e\u304f\u3099\u3052\u3053\u3099"
call term_sendkeys(buf, "echo " . txt . "\r")
call term_wait(buf, 50)
call TermWait(buf, 25)
call assert_match("echo " . txt, term_getline(buf, lnum[1]))
call assert_equal(txt, term_getline(buf, lnum[1] + 1))
let l = term_scrape(buf, lnum[1] + 1)
@@ -943,7 +943,7 @@ func Test_terminal_composing_unicode()
" \u00a0 + composing
let txt = "abc\u00a0\u0308"
call term_sendkeys(buf, "echo " . txt . "\r")
call term_wait(buf, 50)
call TermWait(buf, 25)
call assert_match("echo " . txt, term_getline(buf, lnum[2]))
call assert_equal(txt, term_getline(buf, lnum[2] + 1))
let l = term_scrape(buf, lnum[2] + 1)
@@ -1587,7 +1587,7 @@ func Test_terminal_ansicolors_default()
let buf = Run_shell_in_terminal({})
call assert_equal(colors, term_getansicolors(buf))
call StopShellInTerminal(buf)
call term_wait(buf)
call TermWait(buf)
exe buf . 'bwipe'
endfunc
@@ -1612,7 +1612,7 @@ func Test_terminal_ansicolors_global()
let buf = Run_shell_in_terminal({})
call assert_equal(g:terminal_ansi_colors, term_getansicolors(buf))
call StopShellInTerminal(buf)
call term_wait(buf)
call TermWait(buf)
exe buf . 'bwipe'
unlet g:terminal_ansi_colors
@@ -1646,7 +1646,7 @@ func Test_terminal_ansicolors_func()
call assert_fails('call term_setansicolors(buf, colors)', 'E474:')
call StopShellInTerminal(buf)
call term_wait(buf)
call TermWait(buf)
exe buf . 'bwipe'
endfunc
@@ -1742,7 +1742,7 @@ func Test_terminal_termwinsize_option_zero()
let win = bufwinid(buf)
call assert_equal([winheight(win), winwidth(win)], term_getsize(buf))
call StopShellInTerminal(buf)
call term_wait(buf)
call TermWait(buf)
exe buf . 'bwipe'
set termwinsize=7x0
@@ -1750,7 +1750,7 @@ func Test_terminal_termwinsize_option_zero()
let win = bufwinid(buf)
call assert_equal([7, winwidth(win)], term_getsize(buf))
call StopShellInTerminal(buf)
call term_wait(buf)
call TermWait(buf)
exe buf . 'bwipe'
set termwinsize=0x33
@@ -1758,7 +1758,7 @@ func Test_terminal_termwinsize_option_zero()
let win = bufwinid(buf)
call assert_equal([winheight(win), 33], term_getsize(buf))
call StopShellInTerminal(buf)
call term_wait(buf)
call TermWait(buf)
exe buf . 'bwipe'
set termwinsize=
@@ -1788,7 +1788,7 @@ func Test_terminal_termwinsize_minimum()
call assert_equal(30, winwidth(win))
call StopShellInTerminal(buf)
call term_wait(buf)
call TermWait(buf)
exe buf . 'bwipe'
set termwinsize=0*0
@@ -1796,7 +1796,7 @@ func Test_terminal_termwinsize_minimum()
let win = bufwinid(buf)
call assert_equal([winheight(win), winwidth(win)], term_getsize(buf))
call StopShellInTerminal(buf)
call term_wait(buf)
call TermWait(buf)
exe buf . 'bwipe'
set termwinsize=
@@ -1938,7 +1938,7 @@ func Test_zz1_terminal_in_gui()
call assert_equal(1, winnr('$'))
let buf = Run_shell_in_terminal({'term_finish': 'close'})
call StopShellInTerminal(buf)
call term_wait(buf)
call TermWait(buf)
" closing window wipes out the terminal buffer a with finished job
call WaitForAssert({-> assert_equal(1, winnr('$'))})
@@ -2025,7 +2025,7 @@ func Test_terminal_normal_mode()
END
call writefile(lines, 'XtermNormal')
let buf = RunVimInTerminal('-S XtermNormal', {'rows': 8})
call term_wait(buf)
call TermWait(buf)
call term_sendkeys(buf, "\<C-W>N")
call term_sendkeys(buf, ":set number cursorline culopt=both\r")
@@ -2215,7 +2215,7 @@ func Test_term_gettty()
call assert_equal('', term_gettty(buf + 1))
call StopShellInTerminal(buf)
call term_wait(buf)
call TermWait(buf)
exe buf . 'bwipe'
endfunc
@@ -2255,7 +2255,7 @@ func Test_terminal_getwinpos()
\ 'echo getwinpos()',
\ ], 'XTest_getwinpos')
let buf = RunVimInTerminal('-S XTest_getwinpos', {'cols': 60})
call term_wait(buf)
call TermWait(buf)
" Find the output of getwinpos() in the bottom line.
let rows = term_getsize(buf)[0]
@@ -2278,7 +2278,7 @@ func Test_terminal_getwinpos()
call assert_inrange(xroot + 2, xroot + xoff, xpos)
call assert_inrange(yroot + 2, yroot + yoff, ypos)
call term_wait(buf)
call TermWait(buf)
call term_sendkeys(buf, ":q\<CR>")
call StopVimInTerminal(buf)
call delete('XTest_getwinpos')
@@ -2434,11 +2434,11 @@ func Test_terminal_in_popup()
\ ]
call writefile(lines, 'XtermPopup')
let buf = RunVimInTerminal('-S XtermPopup', #{rows: 15})
call term_wait(buf, 200)
call TermWait(buf, 100)
call term_sendkeys(buf, ":call OpenTerm(0)\<CR>")
call term_wait(buf, 200)
call TermWait(buf, 100)
call term_sendkeys(buf, ":\<CR>")
call term_wait(buf, 200)
call TermWait(buf, 100)
call term_sendkeys(buf, "\<C-W>:echo getwinvar(g:winid, \"&buftype\") win_gettype(g:winid)\<CR>")
call VerifyScreenDump(buf, 'Test_terminal_popup_1', {})
@@ -2446,7 +2446,7 @@ func Test_terminal_in_popup()
call VerifyScreenDump(buf, 'Test_terminal_popup_2', {})
call term_sendkeys(buf, ":call OpenTerm(1)\<CR>")
call term_wait(buf, 300)
call TermWait(buf, 150)
call term_sendkeys(buf, ":set hlsearch\<CR>")
call term_sendkeys(buf, "/edit\<CR>")
call VerifyScreenDump(buf, 'Test_terminal_popup_3', {})
@@ -2454,7 +2454,7 @@ func Test_terminal_in_popup()
call term_sendkeys(buf, "\<C-W>:call HidePopup()\<CR>")
call VerifyScreenDump(buf, 'Test_terminal_popup_4', {})
call term_sendkeys(buf, "\<CR>")
call term_wait(buf, 100)
call TermWait(buf, 50)
call term_sendkeys(buf, "\<C-W>:call ClosePopup()\<CR>")
call VerifyScreenDump(buf, 'Test_terminal_popup_5', {})
@@ -2470,9 +2470,9 @@ func Test_terminal_in_popup()
call term_sendkeys(buf, "A")
call VerifyScreenDump(buf, 'Test_terminal_popup_8', {})
call term_wait(buf, 100)
call TermWait(buf, 50)
call term_sendkeys(buf, ":q\<CR>")
call term_wait(buf, 200) " wait for terminal to vanish
call TermWait(buf, 100) " wait for terminal to vanish
call StopVimInTerminal(buf)
call delete('Xtext')
@@ -2499,16 +2499,16 @@ func Test_terminal_in_popup_min_size()
\ ]
call writefile(lines, 'XtermPopup')
let buf = RunVimInTerminal('-S XtermPopup', #{rows: 15})
call term_wait(buf, 200)
call TermWait(buf, 100)
call term_sendkeys(buf, ":set noruler\<CR>")
call term_sendkeys(buf, ":call OpenTerm()\<CR>")
call term_wait(buf, 100)
call TermWait(buf, 50)
call term_sendkeys(buf, ":\<CR>")
call VerifyScreenDump(buf, 'Test_terminal_popup_m1', {})
call term_wait(buf, 100)
call TermWait(buf, 50)
call term_sendkeys(buf, ":q\<CR>")
call term_wait(buf, 100) " wait for terminal to vanish
call TermWait(buf, 50) " wait for terminal to vanish
call StopVimInTerminal(buf)
call delete('Xtext')
call delete('XtermPopup')
@@ -2531,17 +2531,17 @@ func Terminal_in_popup_colored(group_name, highlight_cmd, highlight_opt)
\ ]
call writefile(lines, 'XtermPopup')
let buf = RunVimInTerminal('-S XtermPopup', #{rows: 15})
call term_wait(buf, 200)
call TermWait(buf, 100)
call term_sendkeys(buf, ":set noruler\<CR>")
call term_sendkeys(buf, ":call OpenTerm()\<CR>")
call term_wait(buf, 100)
call TermWait(buf, 50)
call term_sendkeys(buf, "hello\<CR>")
call VerifyScreenDump(buf, 'Test_terminal_popup_' .. a:group_name, {})
call term_sendkeys(buf, "\<C-D>")
call term_wait(buf, 100)
call TermWait(buf, 50)
call term_sendkeys(buf, ":q\<CR>")
call term_wait(buf, 100) " wait for terminal to vanish
call TermWait(buf, 50) " wait for terminal to vanish
call StopVimInTerminal(buf)
call delete('XtermPopup')
endfunc
@@ -2594,19 +2594,19 @@ func Test_term_nasty_callback()
let g:buf1 = term_start('sh', #{hidden: 1, term_finish: 'close'})
call popup_create(g:buf1, {})
let g:buf2 = term_start(['sh', '-c'], #{curwin: 1, exit_cb: function('TermExit')})
call term_wait(g:buf2, 100)
call TermWait(g:buf2, 50)
call popup_close(win_getid())
endfunc
func TermExit(...)
let altbuf = bufnr('#')
call term_sendkeys(altbuf, "exit\<CR>")
call term_wait(altbuf)
call TermWait(altbuf)
call popup_close(win_getid())
endfunc
call OpenTerms()
call term_sendkeys(g:buf0, "exit\<CR>")
call term_wait(g:buf0, 100)
call TermWait(g:buf0, 50)
exe g:buf0 .. 'bwipe!'
set hidden&
endfunc

View File

@@ -10,7 +10,7 @@ source shared.vim
func Test_terminal_redir_fails()
if has('unix')
let buf = term_start('xyzabc', {'err_io': 'file', 'err_name': 'Xfile'})
call term_wait(buf)
call TermWait(buf)
call WaitFor('len(readfile("Xfile")) > 0')
call assert_match('executing job failed', readfile('Xfile')[0])
call WaitFor('!&modified')

View File

@@ -398,9 +398,9 @@ func Test_timer_error_in_timer_callback()
call WaitForAssert({-> assert_notequal('', term_getline(buf, 8))})
" GC must not run during timer callback, which can make Vim crash.
call term_wait(buf, 100)
call TermWait(buf, 50)
call term_sendkeys(buf, "\<CR>")
call term_wait(buf, 100)
call TermWait(buf, 50)
call assert_equal('run', job_status(job))
call term_sendkeys(buf, ":qall!\<CR>")

View File

@@ -1913,30 +1913,30 @@ func Test_deep_nest()
" Deep nesting of if ... endif
call term_sendkeys(buf, ":call Test1()\n")
call term_wait(buf)
call TermWait(buf)
call WaitForAssert({-> assert_match('^E579:', term_getline(buf, 5))})
" Deep nesting of for ... endfor
call term_sendkeys(buf, ":call Test2()\n")
call term_wait(buf)
call TermWait(buf)
call WaitForAssert({-> assert_match('^E585:', term_getline(buf, 5))})
" Deep nesting of while ... endwhile
call term_sendkeys(buf, ":call Test3()\n")
call term_wait(buf)
call TermWait(buf)
call WaitForAssert({-> assert_match('^E585:', term_getline(buf, 5))})
" Deep nesting of try ... endtry
call term_sendkeys(buf, ":call Test4()\n")
call term_wait(buf)
call TermWait(buf)
call WaitForAssert({-> assert_match('^E601:', term_getline(buf, 5))})
" Deep nesting of function ... endfunction
call term_sendkeys(buf, ":call Test5()\n")
call term_wait(buf)
call TermWait(buf)
call WaitForAssert({-> assert_match('^E1058:', term_getline(buf, 4))})
call term_sendkeys(buf, "\<C-C>\n")
call term_wait(buf)
call TermWait(buf)
"let l = ''
"for i in range(1, 6)

View File

@@ -738,6 +738,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
533,
/**/
532,
/**/