]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.2.0214: tests: Test_gui_system_term_scroll() is flaky v9.2.0214
authorYasuhiro Matsumoto <mattn.jp@gmail.com>
Fri, 20 Mar 2026 22:34:11 +0000 (22:34 +0000)
committerChristian Brabandt <cb@256bit.org>
Fri, 20 Mar 2026 22:34:11 +0000 (22:34 +0000)
Problem:  tests: Test_gui_system_term_scroll() is flaky
          (after: v9.2.0208)
Solution: Fix test (Yasuhiro Matsumoto)

Remove timer-based screen check and use a simple command instead
of ping.  The timer could fire before ConPTY initialization was
complete, causing screenstring() to return an empty string.

Check screenstring() directly after the command finishes instead.

related: #19735
closes:  #19765

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
src/testdir/test_gui.vim
src/version.c

index 0b0eb02715f415eb53313b50517db337577c5e32..c686094ca21f86344ec56aca7876cc37a8c39d18 100644 (file)
@@ -973,31 +973,18 @@ func Test_gui_system_term_scroll()
   call setline(1, repeat(['AAAA'], &lines + 5))
   redraw
 
-  " Timer fires during terminal_loop to check the screen while the command
-  " is still running.  Row 1 should still show buffer content if scrolling
-  " is correct.
-  let g:system_term_row1 = ''
-  func s:CheckScroll(timer)
-    let g:system_term_row1 = screenstring(1, 1)
-  endfunc
-  call timer_start(200, function('s:CheckScroll'))
-
-  " Use a command that runs long enough for the timer to fire during
-  " terminal_loop.  wait_return() returns immediately when sourcing a script,
-  " so the timer must fire before the command finishes.
   if has('win32')
-    !ping -n 2 127.0.0.1 > nul
+    !echo.
   else
-    !sleep 1
+    !echo
   endif
 
   " With the ConPTY scroll bug, the screen scrolled up entirely and row 1
   " became blank.  With the fix, only the output lines scroll and the buffer
   " content remains visible near the top of the screen.
-  call assert_equal('A', g:system_term_row1)
+  call assert_equal('A', screenstring(1, 1))
 
   %bwipe!
-  delfunc s:CheckScroll
   let &guioptions = save_guioptions
 endfunc
 
index 42ebf261eb815c5dc5c0a920ae2a2054ca116b6c..3f5c22316d245fd4c0f7fe0aeffee140ff11d1b5 100644 (file)
@@ -734,6 +734,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    214,
 /**/
     213,
 /**/