diff options
author | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2021-03-23 22:28:01 -0400 |
---|---|---|
committer | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2021-03-23 22:41:22 -0400 |
commit | f6585cae50a7f1aef8544a6904bb7e986126283f (patch) | |
tree | a2aaaef21e465997ac9abff0b6253ac6e2efbaeb | |
parent | 1186f7dd96b054d6a653685089fc845a8f5d2f27 (diff) | |
download | rneovim-f6585cae50a7f1aef8544a6904bb7e986126283f.tar.gz rneovim-f6585cae50a7f1aef8544a6904bb7e986126283f.tar.bz2 rneovim-f6585cae50a7f1aef8544a6904bb7e986126283f.zip |
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.
https://github.com/vim/vim/commit/3cdcb090a664e182078f7cc0ca3e4e5a94bbb784
Cherry-pick g:test_is_flaky from patch v8.2.0557.
Ensure that test_is_flaky variable is set from the global scope..
N/A patches for version.c:
vim-patch:8.2.2647: terminal test sometimes hangs
Problem: Terminal test sometimes hangs.
Solution: Wait for the shell to display a prompt.
https://github.com/vim/vim/commit/f4a2ed071447ad4984fad55b9d1671b55140ae1c
vim-patch:8.2.2648: terminal resize test sometimes hangs
Problem: Terminal resize test sometimes hangs.
Solution: Wait for the shell to display a prompt and other output.
https://github.com/vim/vim/commit/c54f347d63bcca97ead673d01ac6b59914bb04e5
fixup! vim-patch:8.2.0400: not all tests using a terminal are in the list of flaky tests
-rw-r--r-- | src/nvim/testdir/runtest.vim | 8 | ||||
-rw-r--r-- | src/nvim/testdir/test_autocmd.vim | 8 |
2 files changed, 9 insertions, 7 deletions
diff --git a/src/nvim/testdir/runtest.vim b/src/nvim/testdir/runtest.vim index 275edece1e..2d94b637e0 100644 --- a/src/nvim/testdir/runtest.vim +++ b/src/nvim/testdir/runtest.vim @@ -373,9 +373,6 @@ let s:flaky_tests = [ \ 'Test_with_partial_callback()', \ ] -" 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 g:test_is_flaky to retry running the test. + let g: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) + \ || g:test_is_flaky) while 1 call add(s:messages, 'Found errors in ' . s:test . ':') call extend(s:messages, v:errors) diff --git a/src/nvim/testdir/test_autocmd.vim b/src/nvim/testdir/test_autocmd.vim index 7788e09d43..107428a62e 100644 --- a/src/nvim/testdir/test_autocmd.vim +++ b/src/nvim/testdir/test_autocmd.vim @@ -1366,9 +1366,11 @@ func Test_TextChangedI_with_setline() endfunc func Test_Changed_FirstTime() - if !has('terminal') || has('gui_running') - return - endif + 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') let buf = term_start([GetVimProg(), '--clean', '-c', 'set noswapfile'], {'term_rows': 3}) |