diff src/testdir/runtest.vim @ 19687:c3f506e24eab v8.2.0400

patch 8.2.0400: not all tests using a terminal are in the list of flaky tests Commit: https://github.com/vim/vim/commit/3cdcb090a664e182078f7cc0ca3e4e5a94bbb784 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Mar 18 19:18:10 2020 +0100 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.
author Bram Moolenaar <Bram@vim.org>
date Wed, 18 Mar 2020 19:30:04 +0100
parents aae19dd172c0
children e73167dd8cac
line wrap: on
line diff
--- a/src/testdir/runtest.vim
+++ b/src/testdir/runtest.vim
@@ -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)