]> granicus.if.org Git - vim/commitdiff
patch 8.2.4879: screendump test may fail when using valgrind v8.2.4879
authorBram Moolenaar <Bram@vim.org>
Fri, 6 May 2022 10:21:19 +0000 (11:21 +0100)
committerBram Moolenaar <Bram@vim.org>
Fri, 6 May 2022 10:21:19 +0000 (11:21 +0100)
Problem:    Screendump test may fail when using valgrind.
Solution:   Wait longer for the first screendump.

src/testdir/screendump.vim
src/testdir/test_vim9_builtin.vim
src/version.c

index 8fc496d1e1136d87c9d4702975d95ec87e72cc1e..d872a809db04c968120e23250377321bbf2b4c26 100644 (file)
@@ -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, options, ...)
       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 .. '")'
index 41093f0014750a86ac778559f67783b56ff9fa3f..b4637434d42bdf484ec6d70e2a9349e1b7378ff5 100644 (file)
@@ -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', {})
 
index 30f420bdd339a508a9d66166ed800ede7a23bc68..5a597a8fd80bae552182c5f40ad92dc9446ab2eb 100644 (file)
@@ -746,6 +746,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    4879,
 /**/
     4878,
 /**/