patch 8.2.5143: some tests fail when using valgrind
Problem: Some tests fail when using valgrind. Spurious leak reports.
Solution: Use WaitForAssert(). Avoid failing fork/exec. Skip tests where a
job is killed when running valgrind.
diff --git a/src/testdir/test_popup.vim b/src/testdir/test_popup.vim
index c389f63..5fb7e82 100644
--- a/src/testdir/test_popup.vim
+++ b/src/testdir/test_popup.vim
@@ -1177,13 +1177,12 @@
END
call writefile(lines, 'Xtest1')
let buf = RunVimInTerminal('--cmd "set rightleft" Xtest1', {})
- call term_wait(buf)
call term_sendkeys(buf, "Go\<C-P>")
call VerifyScreenDump(buf, 'Test_pum_rightleft_01', {'rows': 8})
call term_sendkeys(buf, "\<C-P>\<C-Y>")
- call term_wait(buf)
+ call TermWait(buf, 30)
redraw!
- call assert_match('\s*miv', Screenline(5))
+ call WaitForAssert({-> assert_match('\s*miv', Screenline(5))})
" Test for expanding tabs to spaces in the popup menu
let lines =<< trim END
@@ -1193,15 +1192,15 @@
END
call writefile(lines, 'Xtest2')
call term_sendkeys(buf, "\<Esc>:e! Xtest2\<CR>")
- call term_wait(buf)
+ call TermWait(buf, 30)
call term_sendkeys(buf, "Goone\<C-X>\<C-L>")
- call term_wait(buf)
+ call TermWait(buf, 30)
redraw!
call VerifyScreenDump(buf, 'Test_pum_rightleft_02', {'rows': 7})
call term_sendkeys(buf, "\<C-Y>")
- call term_wait(buf)
+ call TermWait(buf, 30)
redraw!
- call assert_match('\s*eerht eno', Screenline(4))
+ call WaitForAssert({-> assert_match('\s*eerht eno', Screenline(4))})
call StopVimInTerminal(buf)
call delete('Xtest1')
@@ -1218,15 +1217,15 @@
END
call writefile(lines, 'Xtest1')
let buf = RunVimInTerminal('--cmd "set pumheight=2" Xtest1', {})
- call term_wait(buf)
+ call TermWait(buf)
call term_sendkeys(buf, "Go\<C-P>\<C-P>\<C-P>")
call VerifyScreenDump(buf, 'Test_pum_scrollbar_01', {'rows': 7})
call term_sendkeys(buf, "\<C-E>\<Esc>dd")
- call term_wait(buf)
+ call TermWait(buf)
if has('rightleft')
call term_sendkeys(buf, ":set rightleft\<CR>")
- call term_wait(buf)
+ call TermWait(buf)
call term_sendkeys(buf, "Go\<C-P>\<C-P>\<C-P>")
call VerifyScreenDump(buf, 'Test_pum_scrollbar_02', {'rows': 7})
endif