changeset 12120:017031c7717e v8.0.0940

patch 8.0.0940: Test_terminal_scrape_multibyte is flaky commit https://github.com/vim/vim/commit/c08706135d006453784f85d211c76e27b4f2a6d0 Author: Bram Moolenaar <Bram@vim.org> 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().
author Christian Brabandt <cb@256bit.org>
date Mon, 14 Aug 2017 22:15:04 +0200
parents a7e24c12df21
children fd2cdeef06d6
files src/testdir/test_terminal.vim src/version.c
diffstat 2 files changed, 16 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- 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
--- 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,