]> granicus.if.org Git - vim/commitdiff
patch 9.0.0853: terminal mouse test is still flaky on MacOS M1 v9.0.0853
authorBram Moolenaar <Bram@vim.org>
Thu, 10 Nov 2022 12:38:16 +0000 (12:38 +0000)
committerBram Moolenaar <Bram@vim.org>
Thu, 10 Nov 2022 12:38:16 +0000 (12:38 +0000)
Problem:    Terminal mouse test is still flaky on MacOS M1.
Solution:   Also wait for the file to have some contents.

src/testdir/test_terminal3.vim
src/version.c

index f871187ef3a1d2969b3909ea758e98606920781d..f23bfd2246778b2ce19769eed8e059fdfd6dbf11 100644 (file)
@@ -686,7 +686,10 @@ func Test_term_mouse()
   call TermWait(buf)
   redraw!
 
-  let XbufExists = {-> filereadable('Xbuf')}
+  " Funcref used in WaitFor() to check that the "Xbuf" file is readable and
+  " has some contents.  This avoids a "List index out of range" error when the
+  " file hasn't been written yet.
+  let XbufNotEmpty = {-> filereadable('Xbuf') && len(readfile('Xbuf')) > 0}
 
   " Use the mouse to enter the terminal window
   call win_gotoid(prev_win)
@@ -703,7 +706,7 @@ func Test_term_mouse()
   call delete('Xbuf')
   call term_sendkeys(buf, ":call writefile([json_encode(getpos('.'))], 'Xbuf')\<CR>")
   call TermWait(buf, 50)
-  call WaitFor(XbufExists)
+  call WaitFor(XbufNotEmpty)
   let pos = json_decode(readfile('Xbuf')[0])
   call assert_equal([3, 8], pos[1:2])
   call delete('Xbuf')
@@ -715,7 +718,7 @@ func Test_term_mouse()
   call term_sendkeys(buf, "\<LeftRelease>y")
   call TermWait(buf, 50)
   call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\<CR>")
-  call WaitFor(XbufExists)
+  call WaitFor(XbufNotEmpty)
   call WaitForAssert({-> assert_equal('yellow', readfile('Xbuf')[0])})
   call delete('Xbuf')
 
@@ -726,7 +729,7 @@ func Test_term_mouse()
   call term_sendkeys(buf, "\<LeftRelease>y")
   call TermWait(buf, 50)
   call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\<CR>")
-  call WaitFor(XbufExists)
+  call WaitFor(XbufNotEmpty)
   call assert_equal('three four', readfile('Xbuf')[0])
   call delete('Xbuf')
 
@@ -735,7 +738,7 @@ func Test_term_mouse()
   call term_sendkeys(buf, "\<LeftMouse>\<LeftRelease>\<LeftMouse>\<LeftRelease>\<LeftMouse>\<LeftRelease>y")
   call TermWait(buf, 50)
   call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\<CR>")
-  call WaitFor(XbufExists)
+  call WaitFor(XbufNotEmpty)
   call assert_equal("vim emacs sublime nano\n", readfile('Xbuf')[0])
   call delete('Xbuf')
 
@@ -746,7 +749,7 @@ func Test_term_mouse()
   call term_sendkeys(buf, "\<LeftRelease>y")
   call TermWait(buf, 50)
   call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\<CR>")
-  call WaitFor(XbufExists)
+  call WaitFor(XbufNotEmpty)
   call assert_equal("ree\nyel\nsub", readfile('Xbuf')[0])
   call delete('Xbuf')
 
@@ -757,7 +760,7 @@ func Test_term_mouse()
   call term_sendkeys(buf, "\<RightMouse>\<RightRelease>y")
   call TermWait(buf, 50)
   call term_sendkeys(buf, ":call writefile([@\"], 'Xbuf')\<CR>")
-  call WaitFor(XbufExists)
+  call WaitFor(XbufNotEmpty)
   call assert_equal("n yellow", readfile('Xbuf')[0])
   call delete('Xbuf')
 
@@ -767,7 +770,7 @@ func Test_term_mouse()
   call term_sendkeys(buf, "\"r\<MiddleMouse>\<MiddleRelease>")
   call TermWait(buf, 50)
   call term_sendkeys(buf, ":call writefile([getline(2)], 'Xbuf')\<CR>")
-  call WaitFor(XbufExists)
+  call WaitFor(XbufNotEmpty)
   call assert_equal("red bright blue", readfile('Xbuf')[0][-15:])
   call delete('Xbuf')
 
index 8056d66a5ab52b7b620287d12752137722bd5f9f..3b22d4e77b6fdb3f365850f886c4719ee36bbc52 100644 (file)
@@ -695,6 +695,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    853,
 /**/
     852,
 /**/