To: vim_dev@googlegroups.com Subject: Patch 8.2.3518 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.3518 Problem: Test_xrestore sometimes fails. Solution: Mark the test as flayky. Move marking test as flaky to the test instead of listing them in runtest. Files: src/testdir/test_paste.vim, src/testdir/runtest.vim, src/testdir/test_autocmd.vim, src/testdir/test_channel.vim, src/testdir/test_clientserver.vim, src/testdir/test_diffmode.vim, src/testdir/test_functions.vim, src/testdir/test_gui.vim, src/testdir/test_mapping.vim, src/testdir/test_popup.vim, src/testdir/test_quotestar.vim, src/testdir/test_reltime.vim, src/testdir/test_terminal.vim, src/testdir/test_terminal2.vim, src/testdir/test_timers.vim *** ../vim-8.2.3517/src/testdir/test_paste.vim 2021-06-13 20:52:42.525260056 +0100 --- src/testdir/test_paste.vim 2021-10-16 12:42:01.317319785 +0100 *************** *** 136,141 **** --- 136,143 ---- func Test_xrestore() CheckFeature xterm_clipboard + let g:test_is_flaky = 1 + let display = $DISPLAY new call CheckCopyPaste() *** ../vim-8.2.3517/src/testdir/runtest.vim 2021-08-07 16:20:07.966856597 +0100 --- src/testdir/runtest.vim 2021-10-16 12:57:09.353228210 +0100 *************** *** 404,445 **** endtry endif - " Names of flaky tests. - let s:flaky_tests = [ - \ 'Test_BufWrite_lockmarks()', - \ 'Test_autocmd_SafeState()', - \ 'Test_bufunload_all()', - \ 'Test_client_server()', - \ 'Test_close_and_exit_cb()', - \ 'Test_close_output_buffer()', - \ 'Test_collapse_buffers()', - \ 'Test_cwd()', - \ 'Test_diff_screen()', - \ 'Test_exit_callback_interval()', - \ 'Test_map_timeout_with_timer_interrupt()', - \ 'Test_out_cb()', - \ 'Test_pipe_through_sort_all()', - \ 'Test_pipe_through_sort_some()', - \ 'Test_popup_and_window_resize()', - \ 'Test_quoteplus()', - \ 'Test_quotestar()', - \ 'Test_reltime()', - \ 'Test_state()', - \ 'Test_terminal_composing_unicode()', - \ 'Test_terminal_does_not_truncate_last_newlines()', - \ 'Test_terminal_no_cmd()', - \ 'Test_terminal_noblock()', - \ 'Test_terminal_redir_file()', - \ 'Test_termwinscroll()', - \ 'Test_timer_oneshot()', - \ 'Test_timer_paused()', - \ 'Test_timer_repeat_many()', - \ 'Test_timer_repeat_three()', - \ 'Test_timer_stop_all_in_callback()', - \ 'Test_timer_stop_in_callback()', - \ 'Test_timer_with_partial_callback()', - \ ] - " Locate Test_ functions and execute them. redir @q silent function /^Test_ --- 404,409 ---- *************** *** 491,498 **** " - it fails five times (with a different message) if len(v:errors) > 0 \ && $TEST_NO_RETRY == '' ! \ && (index(s:flaky_tests, g:testfunc) >= 0 ! \ || g:test_is_flaky) while 1 call add(s:messages, 'Found errors in ' . g:testfunc . ':') call extend(s:messages, v:errors) --- 455,461 ---- " - it fails five times (with a different message) if len(v:errors) > 0 \ && $TEST_NO_RETRY == '' ! \ && g:test_is_flaky while 1 call add(s:messages, 'Found errors in ' . g:testfunc . ':') call extend(s:messages, v:errors) *** ../vim-8.2.3517/src/testdir/test_autocmd.vim 2021-10-16 11:58:51.409123004 +0100 --- src/testdir/test_autocmd.vim 2021-10-16 12:45:13.708602095 +0100 *************** *** 1490,1495 **** --- 1490,1496 ---- " Test for BufUnload autocommand that unloads all the other buffers func Test_bufunload_all() + let g:test_is_flaky = 1 call writefile(['Test file Xxx1'], 'Xxx1')" call writefile(['Test file Xxx2'], 'Xxx2')" *************** *** 2378,2383 **** --- 2379,2385 ---- func Test_autocmd_SafeState() CheckRunVimInTerminal + let g:test_is_flaky = 1 let lines =<< trim END let g:safe = 0 *************** *** 2458,2463 **** --- 2460,2466 ---- endfunc func Test_BufWrite_lockmarks() + let g:test_is_flaky = 1 edit! Xtest call setline(1, ['a', 'b', 'c', 'd']) *** ../vim-8.2.3517/src/testdir/test_channel.vim 2021-10-05 19:19:31.963894252 +0100 --- src/testdir/test_channel.vim 2021-10-16 12:49:59.441932372 +0100 *************** *** 795,800 **** --- 795,801 ---- endfunc func Test_close_output_buffer() + let g:test_is_flaky = 1 enew! let test_lines = ['one', 'two'] call setline(1, test_lines) *************** *** 935,940 **** --- 936,942 ---- func Run_pipe_through_sort(all, use_buffer) CheckExecutable sort + let g:test_is_flaky = 1 let options = {'out_io': 'buffer', 'out_name': 'sortout'} if a:use_buffer *************** *** 1206,1211 **** --- 1208,1214 ---- endfunc func Test_out_cb() + let g:test_is_flaky = 1 let dict = {'thisis': 'dict: '} func dict.outHandler(chan, msg) dict if type(a:msg) == v:t_string *************** *** 1333,1338 **** --- 1336,1342 ---- endfunc func Test_close_and_exit_cb() + let g:test_is_flaky = 1 let g:retdict = {'ret': {}} func g:retdict.close_cb(ch) dict let self.ret['close_cb'] = a:ch->ch_getjob()->job_status() *************** *** 1560,1565 **** --- 1564,1570 ---- func Test_exit_callback_interval() CheckFunction reltimefloat + let g:test_is_flaky = 1 let g:exit_cb_val = {'start': reltime(), 'end': 0, 'process': 0} let job = [s:python, '-c', 'import time;time.sleep(0.5)']->job_start({'exit_cb': 'MyExitTimeCb'}) *************** *** 1742,1747 **** --- 1747,1753 ---- endfunc func Test_collapse_buffers() + let g:test_is_flaky = 1 CheckExecutable cat sp test_channel.vim *************** *** 1884,1889 **** --- 1890,1896 ---- endfunc func Test_cwd() + let g:test_is_flaky = 1 let g:envstr = '' if has('win32') let expect = $TEMP *** ../vim-8.2.3517/src/testdir/test_clientserver.vim 2021-07-05 13:10:00.431729296 +0100 --- src/testdir/test_clientserver.vim 2021-10-16 12:46:07.149642529 +0100 *************** *** 26,31 **** --- 26,32 ---- endfunc func Test_client_server() + let g:test_is_flaky = 1 let cmd = GetVimCommand() if cmd == '' throw 'GetVimCommand() failed' *** ../vim-8.2.3517/src/testdir/test_diffmode.vim 2021-09-01 15:01:29.601137676 +0100 --- src/testdir/test_diffmode.vim 2021-10-16 12:48:58.100831236 +0100 *************** *** 845,850 **** --- 845,851 ---- endfunc func Test_diff_screen() + let g:test_is_flaky = 1 CheckScreendump CheckFeature menu *** ../vim-8.2.3517/src/testdir/test_functions.vim 2021-10-03 15:19:09.821731156 +0100 --- src/testdir/test_functions.vim 2021-10-16 12:53:08.241213038 +0100 *************** *** 2286,2291 **** --- 2286,2292 ---- func Test_state() CheckRunVimInTerminal + let g:test_is_flaky = 1 let getstate = ":echo 'state: ' .. g:state .. '; mode: ' .. g:mode\" *** ../vim-8.2.3517/src/testdir/test_gui.vim 2021-07-24 20:33:22.391681954 +0100 --- src/testdir/test_gui.vim 2021-10-16 12:51:53.215926810 +0100 *************** *** 120,125 **** --- 120,126 ---- endfunc func Test_quoteplus() + let g:test_is_flaky = 1 let skipped = '' if !g:x11_based_gui *** ../vim-8.2.3517/src/testdir/test_mapping.vim 2021-06-13 20:52:42.521260063 +0100 --- src/testdir/test_mapping.vim 2021-10-16 12:49:23.317286310 +0100 *************** *** 289,294 **** --- 289,295 ---- func Test_map_timeout_with_timer_interrupt() CheckFeature job CheckFeature timers + let g:test_is_flaky = 1 " Confirm the timer invoked in exit_cb of the job doesn't disturb mapped key " sequence. *************** *** 1155,1161 **** call feedkeys("v\", 'xt!') call assert_equal(['v', 1, 12], [mode(1), col('v'), col('.')]) ! " can invoke an opeartor, ending the visual mode let @a = '' call feedkeys("\", 'xt!') call assert_equal('n', mode(1)) --- 1156,1162 ---- call feedkeys("v\", 'xt!') call assert_equal(['v', 1, 12], [mode(1), col('v'), col('.')]) ! " can invoke an operator, ending the visual mode let @a = '' call feedkeys("\", 'xt!') call assert_equal('n', mode(1)) *** ../vim-8.2.3517/src/testdir/test_popup.vim 2021-10-03 12:01:23.533541368 +0100 --- src/testdir/test_popup.vim 2021-10-16 12:51:30.887539832 +0100 *************** *** 665,670 **** --- 665,671 ---- CheckFeature terminal CheckFeature quickfix CheckNotGui + let g:test_is_flaky = 1 let h = winheight(0) if h < 15 *** ../vim-8.2.3517/src/testdir/test_quotestar.vim 2020-11-22 13:23:57.059233488 +0000 --- src/testdir/test_quotestar.vim 2021-10-16 12:52:11.252237948 +0100 *************** *** 131,136 **** --- 131,137 ---- endfunc func Test_quotestar() + let g:test_is_flaky = 1 let skipped = '' let quotestar_saved = @* *** ../vim-8.2.3517/src/testdir/test_reltime.vim 2021-07-15 11:48:08.811766844 +0100 --- src/testdir/test_reltime.vim 2021-10-16 12:52:58.821052660 +0100 *************** *** 5,10 **** --- 5,11 ---- CheckFeature float func Test_reltime() + let g:test_is_flaky = 1 let now = reltime() sleep 10m let later = reltime() *** ../vim-8.2.3517/src/testdir/test_terminal.vim 2021-04-29 19:18:41.970795473 +0100 --- src/testdir/test_terminal.vim 2021-10-16 12:54:31.498617844 +0100 *************** *** 698,703 **** --- 698,704 ---- endfunction func Test_terminal_noblock() + let g:test_is_flaky = 1 let buf = term_start(&shell) let wait_time = 5000 let letters = 'abcdefghijklmnopqrstuvwxyz' *************** *** 805,810 **** --- 806,812 ---- endfunc func Test_terminal_no_cmd() + let g:test_is_flaky = 1 let buf = term_start('NONE', {}) call assert_notequal(0, buf) *************** *** 855,860 **** --- 857,863 ---- endfunc func Test_terminal_redir_file() + let g:test_is_flaky = 1 let cmd = Get_cat_123_cmd() let buf = term_start(cmd, {'out_io': 'file', 'out_name': 'Xfile'}) call TermWait(buf) *************** *** 946,951 **** --- 949,955 ---- endfunc func Test_terminal_composing_unicode() + let g:test_is_flaky = 1 let save_enc = &encoding set encoding=utf-8 *** ../vim-8.2.3517/src/testdir/test_terminal2.vim 2021-03-23 18:22:08.942052565 +0000 --- src/testdir/test_terminal2.vim 2021-10-16 12:54:43.938825929 +0100 *************** *** 217,222 **** --- 217,223 ---- CheckUnix " TODO: Somehow this test sometimes hangs in the GUI CheckNotGui + let g:test_is_flaky = 1 " Let the terminal output more than 'termwinscroll' lines, some at the start " will be dropped. *************** *** 412,417 **** --- 413,419 ---- if has('conpty') throw 'Skipped: fail on ConPTY' endif + let g:test_is_flaky = 1 let contents = [ \ [ 'One', '', 'X' ], \ [ 'Two', '', '' ], *** ../vim-8.2.3517/src/testdir/test_timers.vim 2021-04-22 20:39:26.239762214 +0100 --- src/testdir/test_timers.vim 2021-10-16 12:56:34.480656763 +0100 *************** *** 16,21 **** --- 16,22 ---- endfunc func Test_timer_oneshot() + let g:test_is_flaky = 1 let g:val = 0 let timer = timer_start(50, 'MyHandler') let slept = WaitFor('g:val == 1') *************** *** 34,39 **** --- 35,41 ---- endfunc func Test_timer_repeat_three() + let g:test_is_flaky = 1 let g:val = 0 let timer = timer_start(50, 'MyHandler', {'repeat': 3}) let slept = WaitFor('g:val == 3') *************** *** 51,56 **** --- 53,59 ---- endfunc func Test_timer_repeat_many() + let g:test_is_flaky = 1 let g:val = 0 let timer = timer_start(50, 'MyHandler', {'repeat': -1}) sleep 200m *************** *** 64,69 **** --- 67,73 ---- endfunc func Test_timer_with_partial_callback() + let g:test_is_flaky = 1 let g:val = 0 let meow = {'one': 1} function meow.bite(...) *************** *** 127,132 **** --- 131,137 ---- endfunc func Test_timer_paused() + let g:test_is_flaky = 1 let g:val = 0 let id = timer_start(50, 'MyHandler') *************** *** 186,191 **** --- 191,197 ---- endfunc func Test_timer_stop_in_callback() + let g:test_is_flaky = 1 call assert_equal(0, len(timer_info())) let g:timer1 = timer_start(10, 'StopTimer1') let slept = 0 *************** *** 205,210 **** --- 211,217 ---- endfunc func Test_timer_stop_all_in_callback() + let g:test_is_flaky = 1 call assert_equal(0, len(timer_info())) call timer_start(10, 'StopTimerAll') call assert_equal(1, len(timer_info())) *************** *** 471,474 **** --- 478,482 ---- call delete('XTest_timermessage') endfunc + " vim: shiftwidth=2 sts=2 expandtab *** ../vim-8.2.3517/src/version.c 2021-10-16 11:58:51.409123004 +0100 --- src/version.c 2021-10-16 12:57:57.006004907 +0100 *************** *** 759,760 **** --- 759,762 ---- { /* Add new patch number below this line */ + /**/ + 3518, /**/ -- "Hit any key to continue" is very confusing when you have two keyboards. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// \\\ \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///