Mercurial > vim
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)