# HG changeset patch # User Bram Moolenaar # Date 1597942803 -7200 # Node ID e0af4660dfc7d4069fee09ad9e1c8145cad98565 # Parent 4f7b50471a6a20f56f8554f516eb56c2935534e9 patch 8.2.1498: on slow systems tests can be flaky Commit: https://github.com/vim/vim/commit/733d259a83bfdd3e1670cc1665e1bd56501799df Author: Bram Moolenaar Date: Thu Aug 20 18:59:06 2020 +0200 patch 8.2.1498: on slow systems tests can be flaky Problem: On slow systems tests can be flaky. Solution: Use TermWait() instead of term-wait(). (Yegappan Lakshmanan, closes #6756) diff --git a/src/testdir/test_digraph.vim b/src/testdir/test_digraph.vim --- a/src/testdir/test_digraph.vim +++ b/src/testdir/test_digraph.vim @@ -504,13 +504,13 @@ func Test_entering_digraph() CheckRunVimInTerminal let buf = RunVimInTerminal('', {'rows': 6}) call term_sendkeys(buf, "i\") - call term_wait(buf) + call TermWait(buf) call assert_equal('?', term_getline(buf, 1)) call term_sendkeys(buf, "1") - call term_wait(buf) + call TermWait(buf) call assert_equal('1', term_getline(buf, 1)) call term_sendkeys(buf, "2") - call term_wait(buf) + call TermWait(buf) call assert_equal('½', term_getline(buf, 1)) call StopVimInTerminal(buf) endfunc diff --git a/src/testdir/test_display.vim b/src/testdir/test_display.vim --- a/src/testdir/test_display.vim +++ b/src/testdir/test_display.vim @@ -250,7 +250,7 @@ func Test_display_scroll_at_topline() let buf = RunVimInTerminal('', #{cols: 20}) call term_sendkeys(buf, ":call setline(1, repeat('a', 21))\") - call term_wait(buf) + call TermWait(buf) call term_sendkeys(buf, "O\") call VerifyScreenDump(buf, 'Test_display_scroll_at_topline', #{rows: 4}) diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim --- a/src/testdir/test_popupwin.vim +++ b/src/testdir/test_popupwin.vim @@ -2566,7 +2566,7 @@ func Test_popupwin_close_prevwin() call assert_equal(2, winnr()) let buf = term_start(&shell, #{hidden: 1}) call popup_create(buf, {}) - call term_wait(buf, 100) + call TermWait(buf, 100) call popup_clear(1) call assert_equal(2, winnr()) diff --git a/src/testdir/test_termcodes.vim b/src/testdir/test_termcodes.vim --- a/src/testdir/test_termcodes.vim +++ b/src/testdir/test_termcodes.vim @@ -1898,9 +1898,9 @@ func Test_list_builtin_terminals() CheckRunVimInTerminal let buf = RunVimInTerminal('', #{rows: 14}) call term_sendkeys(buf, ":set cmdheight=3\") - call term_wait(buf, 100) + call TermWait(buf, 100) call term_sendkeys(buf, ":set term=xxx\") - call term_wait(buf, 100) + call TermWait(buf, 100) call assert_match('builtin_dumb', term_getline(buf, 11)) call assert_match('Not found in termcap', term_getline(buf, 12)) call StopVimInTerminal(buf) diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim --- a/src/testdir/test_terminal.vim +++ b/src/testdir/test_terminal.vim @@ -264,11 +264,11 @@ func Test_terminal_one_column() let width = &columns botright vert term let buf = bufnr('$') - call term_wait(buf, 100) + call TermWait(buf, 100) exe "set columns=" .. (width / 2) redraw call term_sendkeys(buf, "キ") - call term_wait(buf, 10) + call TermWait(buf, 10) exe "set columns=" .. width exe buf . 'bwipe!' endfunc @@ -1221,7 +1221,7 @@ func Test_terminal_dumpwrite_errors() CheckRunVimInTerminal call assert_fails("call term_dumpwrite({}, 'Xtest.dump')", 'E728:') let buf = RunVimInTerminal('', {}) - call term_wait(buf) + call TermWait(buf) call assert_fails("call term_dumpwrite(buf, 'Xtest.dump', '')", 'E715:') call assert_fails("call term_dumpwrite(buf, [])", 'E730:') call writefile([], 'Xtest.dump') @@ -1231,7 +1231,7 @@ func Test_terminal_dumpwrite_errors() call assert_fails("call term_dumpwrite(buf, test_null_string())", 'E482:') call test_garbagecollect_now() call StopVimInTerminal(buf) - call term_wait(buf) + call TermWait(buf) call assert_fails("call term_dumpwrite(buf, 'Xtest.dump')", 'E958:') call assert_fails('call term_sendkeys([], ":q\")', 'E745:') call assert_equal(0, term_sendkeys(buf, ":q\")) diff --git a/src/testdir/test_terminal3.vim b/src/testdir/test_terminal3.vim --- a/src/testdir/test_terminal3.vim +++ b/src/testdir/test_terminal3.vim @@ -374,7 +374,7 @@ func Test_term_mouse() call term_sendkeys(buf, ":set mouse=a term=xterm ttymouse=sgr\") call term_sendkeys(buf, ":set clipboard=\") call term_sendkeys(buf, ":set mousemodel=extend\") - call term_wait(buf) + call TermWait(buf) redraw! " Use the mouse to enter the terminal window @@ -388,9 +388,9 @@ func Test_term_mouse() call feedkeys("\\", 'xt') call test_setmouse(3, 8) call term_sendkeys(buf, "\\") - call term_wait(buf, 50) + call TermWait(buf, 50) call term_sendkeys(buf, ":call writefile([json_encode(getpos('.'))], 'Xbuf')\") - call term_wait(buf, 50) + call TermWait(buf, 50) let pos = json_decode(readfile('Xbuf')[0]) call assert_equal([3, 8], pos[1:2]) @@ -400,9 +400,9 @@ func Test_term_mouse() call term_sendkeys(buf, "\") call test_setmouse(2, 16) call term_sendkeys(buf, "\y") - call term_wait(buf, 50) + call TermWait(buf, 50) call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\") - call term_wait(buf, 50) + call TermWait(buf, 50) call assert_equal('yellow', readfile('Xbuf')[0]) " Test for selecting text using doubleclick @@ -411,18 +411,18 @@ func Test_term_mouse() call term_sendkeys(buf, "\\\") call test_setmouse(1, 17) call term_sendkeys(buf, "\y") - call term_wait(buf, 50) + call TermWait(buf, 50) call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\") - call term_wait(buf, 50) + call TermWait(buf, 50) call assert_equal('three four', readfile('Xbuf')[0]) " Test for selecting a line using triple click call delete('Xbuf') call test_setmouse(3, 2) call term_sendkeys(buf, "\\\\\\y") - call term_wait(buf, 50) + call TermWait(buf, 50) call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\") - call term_wait(buf, 50) + call TermWait(buf, 50) call assert_equal("vim emacs sublime nano\n", readfile('Xbuf')[0]) " Test for selecting a block using qudraple click @@ -431,9 +431,9 @@ func Test_term_mouse() call term_sendkeys(buf, "\\\\\\\") call test_setmouse(3, 13) call term_sendkeys(buf, "\y") - call term_wait(buf, 50) + call TermWait(buf, 50) call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\") - call term_wait(buf, 50) + call TermWait(buf, 50) call assert_equal("ree\nyel\nsub", readfile('Xbuf')[0]) " Test for extending a selection using right click @@ -442,9 +442,9 @@ func Test_term_mouse() call term_sendkeys(buf, "\\") call test_setmouse(2, 16) call term_sendkeys(buf, "\\y") - call term_wait(buf, 50) + call TermWait(buf, 50) call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\") - call term_wait(buf, 50) + call TermWait(buf, 50) call assert_equal("n yellow", readfile('Xbuf')[0]) " Test for pasting text using middle click @@ -452,13 +452,13 @@ func Test_term_mouse() call term_sendkeys(buf, ":let @r='bright '\") call test_setmouse(2, 22) call term_sendkeys(buf, "\"r\\") - call term_wait(buf, 50) + call TermWait(buf, 50) call term_sendkeys(buf, ":call writefile([getline(2)], 'Xbuf')\") - call term_wait(buf, 50) + call TermWait(buf, 50) call assert_equal("red bright blue", readfile('Xbuf')[0][-15:]) " cleanup - call term_wait(buf) + call TermWait(buf) call StopVimInTerminal(buf) let &mouse = save_mouse let &term = save_term @@ -494,14 +494,14 @@ func Test_term_modeless_selection() let buf = RunVimInTerminal('Xtest_modeless -n', {}) call term_sendkeys(buf, ":set nocompatible\") call term_sendkeys(buf, ":set mouse=\") - call term_wait(buf) + call TermWait(buf) redraw! " Use the mouse to enter the terminal window call win_gotoid(prev_win) call feedkeys(MouseLeftClickCode(1, 1), 'x') call feedkeys(MouseLeftReleaseCode(1, 1), 'x') - call term_wait(buf) + call TermWait(buf) call assert_equal(1, getwininfo(win_getid())[0].terminal) " Test for copying a modeless selection to clipboard @@ -514,7 +514,7 @@ func Test_term_modeless_selection() call assert_equal("d green y", @*) " cleanup - call term_wait(buf) + call TermWait(buf) call StopVimInTerminal(buf) let &mouse = save_mouse let &term = save_term diff --git a/src/testdir/test_writefile.vim b/src/testdir/test_writefile.vim --- a/src/testdir/test_writefile.vim +++ b/src/testdir/test_writefile.vim @@ -268,9 +268,9 @@ func Test_write_file_mtime() call writefile(["Line1", "Line2"], 'Xfile') let old_ftime = getftime('Xfile') let buf = RunVimInTerminal('Xfile', #{rows : 10}) - call term_wait(buf) + call TermWait(buf) call term_sendkeys(buf, ":set noswapfile\") - call term_wait(buf) + call TermWait(buf) " Modify the file directly. Make sure the file modification time is " different. Note that on Linux/Unix, the file is considered modified @@ -286,17 +286,17 @@ func Test_write_file_mtime() " Try to overwrite the file and check for the prompt call term_sendkeys(buf, ":w\") - call term_wait(buf) + call TermWait(buf) call WaitForAssert({-> assert_equal("WARNING: The file has been changed since reading it!!!", term_getline(buf, 9))}) call assert_equal("Do you really want to write to it (y/n)?", \ term_getline(buf, 10)) call term_sendkeys(buf, "n\") - call term_wait(buf) + call TermWait(buf) call assert_equal(new_ftime, getftime('Xfile')) call term_sendkeys(buf, ":w\") - call term_wait(buf) + call TermWait(buf) call term_sendkeys(buf, "y\") - call term_wait(buf) + call TermWait(buf) call WaitForAssert({-> assert_equal('Line2', readfile('Xfile')[1])}) " clean up @@ -671,7 +671,7 @@ func Test_readwrite_file_with_bom() set cpoptions-=S let &fileencoding = save_fileencoding call delete('Xtest1') - call delete('Xtest2') + call delete('Xfile2') call delete('Xtest3') %bw! endfunc diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1498, +/**/ 1497, /**/ 1496,