mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-06-11 15:37:29 +02:00
patch 9.2.0214: tests: Test_gui_system_term_scroll() is flaky
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>
This commit is contained in:
committed by
Christian Brabandt
parent
b1a247d659
commit
2b7b745bb5
@@ -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
|
||||
|
||||
|
||||
@@ -734,6 +734,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
214,
|
||||
/**/
|
||||
213,
|
||||
/**/
|
||||
|
||||
Reference in New Issue
Block a user