vim-patch:9.1.1843: tests: Test_search_stat_option() may fail on slow systems (#36110)

Problem:  tests: Test_search_stat_option() may fail on slow systems
Solution: test_search_stat: Extend searchcount() timeout if the test is
          being re-run due to flakiness (James McCoy).

closes: vim/vim#18524

4fa7ec8036

Co-authored-by: James McCoy <jamessan@jamessan.com>
This commit is contained in:
zeertzjq
2025-10-10 07:32:08 +08:00
committed by GitHub
parent f81014f25c
commit b1c41a332d

View File

@@ -528,6 +528,10 @@ func Test_search_stat_option()
" didn't get added to message history
call assert_equal(messages_before, execute('messages'))
" If the test is being retried due to flakiness, extend the searchcount()
" timeout, too
let timeout = 500 * get(g:, 'run_nr', 1)
" Many matches
call cursor(line('$')-2, 1)
let @/ = '.'
@@ -540,10 +544,10 @@ func Test_search_stat_option()
\ searchcount(#{recompute: 0}))
call assert_equal(
\ #{exact_match: 1, current: 27992, incomplete: 0, maxcount:0, total: 28000},
\ searchcount(#{recompute: v:true, maxcount: 0, timeout: 500}))
\ searchcount(#{recompute: v:true, maxcount: 0, timeout: timeout}))
call assert_equal(
\ #{exact_match: 1, current: 1, incomplete: 0, maxcount: 0, total: 28000},
\ searchcount(#{recompute: 1, maxcount: 0, pos: [1, 1, 0], timeout: 500}))
\ searchcount(#{recompute: 1, maxcount: 0, pos: [1, 1, 0], timeout: timeout}))
call cursor(line('$'), 1)
let g:a = execute(':unsilent :norm! n')
let stat = 'W \[1/>999\]'
@@ -553,10 +557,10 @@ func Test_search_stat_option()
\ searchcount(#{recompute: 0}))
call assert_equal(
\ #{current: 1, exact_match: 1, total: 28000, incomplete: 0, maxcount: 0},
\ searchcount(#{recompute: 1, maxcount: 0, timeout: 500}))
\ searchcount(#{recompute: 1, maxcount: 0, timeout: timeout}))
call assert_equal(
\ #{current: 27991, exact_match: 1, total: 28000, incomplete: 0, maxcount: 0},
\ searchcount(#{recompute: 1, maxcount: 0, pos: [line('$')-2, 1, 0], timeout: 500}))
\ searchcount(#{recompute: 1, maxcount: 0, pos: [line('$')-2, 1, 0], timeout: timeout}))
" Many matches
call cursor(1, 1)