diff options
author | Bram Moolenaar <Bram@vim.org> | 2023-07-08 00:25:56 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2023-07-08 00:25:56 +0100 |
commit | 7c2beb48ef46cf5f1ed7e8512ef5a7c9099e5ae4 (patch) | |
tree | 840d8b70cd5c39f94d74a64c3a258bff3d7845eb /src/testdir/runtest.vim | |
parent | 416bd916b4cc4502eb734218f406e4edd8dd199c (diff) |
patch 9.0.1675: test may run into timeout when using valgrindv9.0.1675
Problem: Test may run into timeout when using valgrind.
Solution: Use a longer timeout when using valgrind.
Diffstat (limited to 'src/testdir/runtest.vim')
-rw-r--r-- | src/testdir/runtest.vim | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim index 7ad8539c93..e2bc28d374 100644 --- a/src/testdir/runtest.vim +++ b/src/testdir/runtest.vim @@ -92,6 +92,9 @@ set shellslash " Common with all tests on all systems. source setup.vim +" Needed for RunningWithValgrind(). +source shared.vim + " For consistency run all tests with 'nocompatible' set. " This also enables use of line continuation. set nocp viminfo+=nviminfo @@ -219,12 +222,18 @@ unlet name func TestTimeout(id) split test.log call append(line('$'), '') - call append(line('$'), 'Test timed out: ' .. g:testfunc) + + let text = 'Test timed out: ' .. g:testfunc + if g:timeout_start > 0 + let text ..= strftime(' after %s seconds', localtime() - g:timeout_start) + endif + call append(line('$'), text) write - call add(v:errors, 'Test timed out: ' . g:testfunc) + call add(v:errors, text) cquit! 42 endfunc +let g:timeout_start = 0 func RunTheTest(test) let prefix = '' @@ -237,7 +246,9 @@ func RunTheTest(test) if has('timers') " No test should take longer than 30 seconds. If it takes longer we " assume we are stuck and need to break out. - let test_timeout_timer = timer_start(30000, 'TestTimeout') + let test_timeout_timer = + \ timer_start(RunningWithValgrind() ? 50000 : 30000, 'TestTimeout') + let g:timeout_start = localtime() endif " Avoid stopping at the "hit enter" prompt @@ -307,6 +318,7 @@ func RunTheTest(test) if has('timers') call timer_stop(test_timeout_timer) + let g:timeout_start = 0 endif " Clear any autocommands and put back the catch-all for SwapExists. @@ -371,7 +383,7 @@ func RunTheTest(test) " close any split windows while winnr('$') > 1 - bwipe! + noswapfile bwipe! endwhile " May be editing some buffer, wipe it out. Then we may end up in another |