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.
diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim
index d8a1cf7..b7f9229 100644
--- a/src/testdir/runtest.vim
+++ b/src/testdir/runtest.vim
@@ -379,9 +379,6 @@
\ '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 @@
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 @@
" - 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)