diff src/testdir/test_terminal.vim @ 12166:f512c507b061 v8.0.0963

patch 8.0.0963: terminal test fails on MacOS commit https://github.com/vim/vim/commit/d21f8b54b24e08d1f2b7c6ae32a9bc75ac4fa9fc Author: Bram Moolenaar <Bram@vim.org> Date: Sat Aug 19 15:40:01 2017 +0200 patch 8.0.0963: terminal test fails on MacOS Problem: Terminal test fails on MacOS. (chdiza) Solution: Wait for the shell to echo the characters. (closes https://github.com/vim/vim/issues/1991)
author Christian Brabandt <cb@256bit.org>
date Sat, 19 Aug 2017 15:45:03 +0200
parents ee8ead988f2c
children 6947d5bcf57f
line wrap: on
line diff
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -452,14 +452,21 @@ func Test_terminal_list_args()
 endfunction
 
 func Test_terminal_noblock()
-  let buf = term_start(&shell)
+  let g:buf = term_start(&shell)
 
   for c in ['a','b','c','d','e','f','g','h','i','j','k']
-    call term_sendkeys(buf, 'echo ' . repeat(c, 5000) . "\<cr>")
+    call term_sendkeys(g:buf, 'echo ' . repeat(c, 5000) . "\<cr>")
   endfor
+  call term_sendkeys(g:buf, "echo done\<cr>")
+  let g:lnum = term_getsize(g:buf)[0] - 1
+  call WaitFor('term_getline(g:buf, g:lnum) =~ "done"', 3000)
+  call assert_match('done', term_getline(g:buf, g:lnum))
 
-  let g:job = term_getjob(buf)
-  call Stop_shell_in_terminal(buf)
-  call term_wait(buf)
+  let g:job = term_getjob(g:buf)
+  call Stop_shell_in_terminal(g:buf)
+  call term_wait(g:buf)
+  unlet g:buf
+  unlet g:job
+  unlet g:lnum
   bwipe
 endfunc