forked from aniani/vim
patch 8.2.0400: not all tests using a terminal are in the list of flaky tests
Problem: Not all tests using a terminal are in the list of flaky tests. Solution: Introduce the test_is_flaky flag.
This commit is contained in:
@@ -379,9 +379,6 @@ let s:flaky_tests = [
|
||||
\ 'Test_zz1_terminal_in_gui()',
|
||||
\ ]
|
||||
|
||||
" Pattern indicating a common flaky test failure.
|
||||
let s:flaky_errors_re = 'StopVimInTerminal\|VerifyScreenDump'
|
||||
|
||||
" Locate Test_ functions and execute them.
|
||||
redir @q
|
||||
silent function /^Test_
|
||||
@@ -410,6 +407,9 @@ for s:test in sort(s:tests)
|
||||
let total_errors = []
|
||||
let run_nr = 1
|
||||
|
||||
" A test can set test_is_flaky to retry running the test.
|
||||
let test_is_flaky = 0
|
||||
|
||||
call RunTheTest(s:test)
|
||||
|
||||
" Repeat a flaky test. Give up when:
|
||||
@@ -417,7 +417,7 @@ for s:test in sort(s:tests)
|
||||
" - it fails five times (with a different message)
|
||||
if len(v:errors) > 0
|
||||
\ && (index(s:flaky_tests, s:test) >= 0
|
||||
\ || v:errors[0] =~ s:flaky_errors_re)
|
||||
\ || test_is_flaky)
|
||||
while 1
|
||||
call add(s:messages, 'Found errors in ' . s:test . ':')
|
||||
call extend(s:messages, v:errors)
|
||||
|
@@ -24,6 +24,9 @@ func VerifyScreenDump(buf, filename, options, ...)
|
||||
let reference = 'dumps/' . a:filename . '.dump'
|
||||
let testfile = 'failed/' . a:filename . '.dump'
|
||||
|
||||
" Starting a terminal to make a screendump is always considered flaky.
|
||||
let test_is_flaky = 1
|
||||
|
||||
" Redraw to execute the code that updates the screen. Otherwise we get the
|
||||
" text and attributes only from the internal buffer.
|
||||
redraw
|
||||
|
@@ -93,11 +93,17 @@ func RunVimInTerminal(arguments, options)
|
||||
call assert_report('RunVimInTerminal() failed, screen contents: ' . join(lines, "<NL>"))
|
||||
endtry
|
||||
|
||||
" Starting a terminal to run Vim is always considered flaky.
|
||||
let test_is_flaky = 1
|
||||
|
||||
return buf
|
||||
endfunc
|
||||
|
||||
" Stop a Vim running in terminal buffer "buf".
|
||||
func StopVimInTerminal(buf)
|
||||
" Using a terminal to run Vim is always considered flaky.
|
||||
let test_is_flaky = 1
|
||||
|
||||
call assert_equal("running", term_getstatus(a:buf))
|
||||
|
||||
" CTRL-O : works both in Normal mode and Insert mode to start a command line.
|
||||
|
@@ -1868,6 +1868,8 @@ endfunc
|
||||
func Test_Changed_FirstTime()
|
||||
CheckFeature terminal
|
||||
CheckNotGui
|
||||
" Starting a terminal to run Vim is always considered flaky.
|
||||
let test_is_flaky = 1
|
||||
|
||||
" Prepare file for TextChanged event.
|
||||
call writefile([''], 'Xchanged.txt')
|
||||
|
@@ -738,6 +738,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
400,
|
||||
/**/
|
||||
399,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user