# HG changeset patch # User Christian Brabandt # Date 1502741704 -7200 # Node ID 017031c7717ee27eedd358b125a69207ed832441 # Parent a7e24c12df218f856c62c418a8582e2438c10ea5 patch 8.0.0940: Test_terminal_scrape_multibyte is flaky commit https://github.com/vim/vim/commit/c08706135d006453784f85d211c76e27b4f2a6d0 Author: Bram Moolenaar Date: Mon Aug 14 22:01:16 2017 +0200 patch 8.0.0940: Test_terminal_scrape_multibyte is flaky Problem: Test_terminal_scrape_multibyte is flaky. (James McCoy) Solution: Use WaitFor() instead of term_wait(). diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim --- a/src/testdir/test_terminal.vim +++ b/src/testdir/test_terminal.vim @@ -189,15 +189,10 @@ func Test_terminal_scrape_multibyte() else let cmd = "cat Xtext" endif - let buf = term_start(cmd) + let g:buf = term_start(cmd) - call term_wait(buf) - if has('win32') - " TODO: this should not be needed - sleep 100m - endif - - let l = term_scrape(buf, 1) + call WaitFor('term_scrape(g:buf, 1)[0].chars == "l"') + let l = term_scrape(g:buf, 1) call assert_true(len(l) >= 7) call assert_equal('l', l[0].chars) call assert_equal('é', l[1].chars) @@ -209,11 +204,12 @@ func Test_terminal_scrape_multibyte() call assert_equal('r', l[5].chars) call assert_equal('s', l[6].chars) - let g:job = term_getjob(buf) + let g:job = term_getjob(g:buf) call WaitFor('job_status(g:job) == "dead"') - call term_wait(buf) + call term_wait(g:buf) - exe buf . 'bwipe' + exe g:buf . 'bwipe' + unlet g:buf call delete('Xtext') endfunc @@ -409,16 +405,17 @@ func Test_terminal_env() if !has('unix') return endif - let buf = Run_shell_in_terminal({'env': {'TESTENV': 'correct'}}) + let g:buf = Run_shell_in_terminal({'env': {'TESTENV': 'correct'}}) " Wait for the shell to display a prompt - call WaitFor('term_getline(1) != ""') - call term_sendkeys(buf, "echo $TESTENV\r") - call term_wait(buf) - call Stop_shell_in_terminal(buf) + call WaitFor('term_getline(g:buf, 1) != ""') + call term_sendkeys(g:buf, "echo $TESTENV\r") + call term_wait(g:buf) + call Stop_shell_in_terminal(g:buf) call WaitFor('getline(2) == "correct"') call assert_equal('correct', getline(2)) - exe buf . 'bwipe' + exe g:buf . 'bwipe' + unlet g:buf endfunc " must be last, we can't go back from GUI to terminal diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -770,6 +770,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 940, +/**/ 939, /**/ 938,