From 36eb14fa3e729434cbb6f9078b4b330ae4f864f9 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 1 Sep 2022 14:38:01 +0100 Subject: [PATCH] patch 9.0.0348: MS-Windows: GUI mouse move event test is flaky Problem: MS-Windows: GUI mouse move event test is flaky. Solution: Wait for a little while for the first move event. --- src/testdir/test_gui.vim | 24 ++++++++++++++---------- src/version.c | 2 ++ 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/testdir/test_gui.vim b/src/testdir/test_gui.vim index afac5ccb99..fcb54e5aed 100644 --- a/src/testdir/test_gui.vim +++ b/src/testdir/test_gui.vim @@ -1212,13 +1212,20 @@ endfunc " Move the mouse to the top-left in preparation for mouse events func PrepareForMouseEvent(args) - call extend(a:args, #{row: 1, col:1}) + call extend(a:args, #{row: 1, col: 1}) call test_gui_event('mouse', a:args) + let g:eventlist = [] call feedkeys('', 'Lx!') - " on MS-Windows the event may have a slight delay - if has('win32') - sleep 20m - endif + + " Wait a bit for the event. I may not come if the mouse didn't move, wait up + " to 100 msec. + for n in range(10) + if len(g:eventlist) > 0 + break + endif + sleep 10m + endfor + let g:eventlist = [] endfunc func MouseWasMoved() @@ -1229,7 +1236,7 @@ endfunc func Test_gui_mouse_move_event() let args = #{move: 1, button: 0, multiclick: 0, modifiers: 0} - " by default, does not generate mouse move events + " by default, no mouse move events are generated set mousemev& call assert_false(&mousemev) @@ -1238,7 +1245,6 @@ func Test_gui_mouse_move_event() " start at mouse pos (1,1), clear counter call PrepareForMouseEvent(args) - let g:eventlist = [] call extend(args, #{row: 3, col: 30, cell: v:true}) call test_gui_event('mouse', args) @@ -1248,13 +1254,12 @@ func Test_gui_mouse_move_event() call test_gui_event('mouse', args) call feedkeys('', 'Lx!') - " no events since mousemev off + " no events since 'mousemev' is off call assert_equal([], g:eventlist) " turn on mouse events and try the same thing set mousemev call PrepareForMouseEvent(args) - let g:eventlist = [] call extend(args, #{row: 3, col: 30, cell: v:true}) call test_gui_event('mouse', args) @@ -1274,7 +1279,6 @@ func Test_gui_mouse_move_event() " wiggle the mouse around within a screen cell, shouldn't trigger events call extend(args, #{cell: v:false}) call PrepareForMouseEvent(args) - let g:eventlist = [] call extend(args, #{row: 1, col: 2, cell: v:false}) call test_gui_event('mouse', args) diff --git a/src/version.c b/src/version.c index 147f876638..18278c3fd5 100644 --- a/src/version.c +++ b/src/version.c @@ -707,6 +707,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 348, /**/ 347, /**/