From: Bram Moolenaar Date: Thu, 26 Mar 2020 15:50:57 +0000 (+0100) Subject: patch 8.2.0454: some tests fail when the system is slow X-Git-Tag: v8.2.0454 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3ed9efc2b15b624268bcce4e4d312fb35840a12b;p=vim patch 8.2.0454: some tests fail when the system is slow Problem: Some tests fail when the system is slow. Solution: Make the run number global, use in the test to increase the waiting time. (closes #5841) --- diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim index 585021868..0d603231a 100644 --- a/src/testdir/runtest.vim +++ b/src/testdir/runtest.vim @@ -406,7 +406,7 @@ for s:test in sort(s:tests) set belloff=all let prev_error = '' let total_errors = [] - let run_nr = 1 + let g:run_nr = 1 " A test can set test_is_flaky to retry running the test. let test_is_flaky = 0 @@ -423,10 +423,10 @@ for s:test in sort(s:tests) call add(s:messages, 'Found errors in ' . s:test . ':') call extend(s:messages, v:errors) - call add(total_errors, 'Run ' . run_nr . ':') + call add(total_errors, 'Run ' . g:run_nr . ':') call extend(total_errors, v:errors) - if run_nr == 5 || prev_error == v:errors[0] + if g:run_nr == 5 || prev_error == v:errors[0] call add(total_errors, 'Flaky test failed too often, giving up') let v:errors = total_errors break @@ -441,7 +441,7 @@ for s:test in sort(s:tests) let prev_error = v:errors[0] let v:errors = [] - let run_nr += 1 + let g:run_nr += 1 call RunTheTest(s:test) diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim index fd5cde8ee..7462da856 100644 --- a/src/testdir/test_functions.vim +++ b/src/testdir/test_functions.vim @@ -1832,6 +1832,17 @@ endfunc func Test_state() CheckRunVimInTerminal + " In the first run try a short wait time. If the test fails retry with a + " longer wait time. + if g:run_nr == 1 + let wait_time = 50 + elseif g:run_nr == 2 + let wait_time = 200 + else + let wait_time = 500 + endif + let getstate = ":echo 'state: ' .. g:state .. '; mode: ' .. g:mode\" + let lines =<< trim END call setline(1, ['one', 'two', 'three']) map ;; gg @@ -1851,28 +1862,27 @@ func Test_state() " Using a timer callback call term_sendkeys(buf, ":call RunTimer()\") - call term_wait(buf, 50) - let getstate = ":echo 'state: ' .. g:state .. '; mode: ' .. g:mode\" + call term_wait(buf, wait_time) call term_sendkeys(buf, getstate) call WaitForAssert({-> assert_match('state: c; mode: n', term_getline(buf, 6))}, 1000) " Halfway a mapping call term_sendkeys(buf, ":call RunTimer()\;") - call term_wait(buf, 50) + call term_wait(buf, wait_time) call term_sendkeys(buf, ";") call term_sendkeys(buf, getstate) call WaitForAssert({-> assert_match('state: mSc; mode: n', term_getline(buf, 6))}, 1000) " Insert mode completion (bit slower on Mac) call term_sendkeys(buf, ":call RunTimer()\Got\") - call term_wait(buf, 200) + call term_wait(buf, wait_time) call term_sendkeys(buf, "\") call term_sendkeys(buf, getstate) call WaitForAssert({-> assert_match('state: aSc; mode: i', term_getline(buf, 6))}, 1000) " Autocommand executing call term_sendkeys(buf, ":set filetype=foobar\") - call term_wait(buf, 50) + call term_wait(buf, wait_time) call term_sendkeys(buf, getstate) call WaitForAssert({-> assert_match('state: xS; mode: n', term_getline(buf, 6))}, 1000) @@ -1880,7 +1890,7 @@ func Test_state() " messages scrolled call term_sendkeys(buf, ":call RunTimer()\:echo \"one\\ntwo\\nthree\"\") - call term_wait(buf, 50) + call term_wait(buf, wait_time) call term_sendkeys(buf, "\") call term_sendkeys(buf, getstate) call WaitForAssert({-> assert_match('state: Scs; mode: r', term_getline(buf, 6))}, 1000) diff --git a/src/version.c b/src/version.c index a2a2986ef..b1e6470ea 100644 --- a/src/version.c +++ b/src/version.c @@ -738,6 +738,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 454, /**/ 453, /**/