# HG changeset patch # User Bram Moolenaar # Date 1651833003 -7200 # Node ID 54e33757d1ecd86015cdf1dbfac4bfb9063c08ea # Parent 903288389627912dda7a2f2d9906a73ce22105c7 patch 8.2.4879: screendump test may fail when using valgrind Commit: https://github.com/vim/vim/commit/3e79427803927be42409e9e50c0a308526b83656 Author: Bram Moolenaar Date: Fri May 6 11:21:19 2022 +0100 patch 8.2.4879: screendump test may fail when using valgrind Problem: Screendump test may fail when using valgrind. Solution: Wait longer for the first screendump. diff --git a/src/testdir/screendump.vim b/src/testdir/screendump.vim --- a/src/testdir/screendump.vim +++ b/src/testdir/screendump.vim @@ -15,15 +15,18 @@ endif " Verify that Vim running in terminal buffer "buf" matches the screen dump. " "options" is passed to term_dumpwrite(). +" Additionally, the "wait" entry can specify the maximum time to wait for the +" screen dump to match in msec (default 1000 msec). " The file name used is "dumps/{filename}.dump". " Optionally an extra argument can be passed which is prepended to the error " message. Use this when using the same dump file with different options. -" Will wait for up to a second for the screen dump to match. " Returns non-zero when verification fails. func VerifyScreenDump(buf, filename, options, ...) let reference = 'dumps/' . a:filename . '.dump' let testfile = 'failed/' . a:filename . '.dump' + let max_loops = get(a:options, 'wait', 1000) / 10 + " Starting a terminal to make a screendump is always considered flaky. let g:test_is_flaky = 1 @@ -60,7 +63,7 @@ func VerifyScreenDump(buf, filename, opt endif break endif - if i == 100 + if i == max_loops " Leave the failed dump around for inspection. if filereadable(reference) let msg = 'See dump file difference: call term_dumpdiff("testdir/' .. testfile .. '", "testdir/' .. reference .. '")' diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim --- a/src/testdir/test_vim9_builtin.vim +++ b/src/testdir/test_vim9_builtin.vim @@ -4552,7 +4552,8 @@ func Test_win_gotoid_in_mapping() END call writefile(lines, 'Xgotoscript') let buf = RunVimInTerminal('-S Xgotoscript', #{rows: 15, wait_for_ruler: 0}) - call VerifyScreenDump(buf, 'Test_win_gotoid_1', {}) + " wait longer here, since we didn't wait for the ruler + call VerifyScreenDump(buf, 'Test_win_gotoid_1', #{wait: 3000}) call term_sendkeys(buf, "3Gvl") call VerifyScreenDump(buf, 'Test_win_gotoid_2', {}) diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -747,6 +747,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 4879, +/**/ 4878, /**/ 4877,