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:
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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>")
|
||||
|
@@ -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
|
||||
|
@@ -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)
|
||||
|
@@ -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
|
||||
|
@@ -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', {})
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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)
|
||||
|
@@ -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
|
||||
|
@@ -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', {})
|
||||
|
||||
|
@@ -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', {})
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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, '.'))})
|
||||
|
@@ -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")
|
||||
|
@@ -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', {})
|
||||
|
||||
|
@@ -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', {})
|
||||
|
||||
|
@@ -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', {})
|
||||
|
@@ -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])
|
||||
|
@@ -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'))
|
||||
|
@@ -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)
|
||||
|
@@ -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'))
|
||||
|
@@ -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))})
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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)
|
||||
|
@@ -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!
|
||||
|
@@ -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', {})
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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')
|
||||
|
@@ -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>")
|
||||
|
@@ -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)
|
||||
|
@@ -738,6 +738,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
533,
|
||||
/**/
|
||||
532,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user