changeset 13462:568dcfac9daf v8.0.1605

patch 8.0.1605: terminal test is a bit flaky commit https://github.com/vim/vim/commit/012eb6629337fdf8afca78a24faa132e9b42e7b4 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Mar 13 17:55:27 2018 +0100 patch 8.0.1605: terminal test is a bit flaky Problem: Terminal test is a bit flaky. Solution: Check for the shell prompt. Use more lambda functions.
author Christian Brabandt <cb@256bit.org>
date Tue, 13 Mar 2018 18:00:06 +0100
parents da182163b61d
children 085292f731a2
files src/testdir/test_terminal.vim src/version.c
diffstat 2 files changed, 22 insertions(+), 26 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -432,39 +432,38 @@ func Test_terminal_servername()
   if !has('clientserver')
     return
   endif
-  let g:buf = Run_shell_in_terminal({})
+  let buf = Run_shell_in_terminal({})
   " Wait for the shell to display a prompt
-  call WaitFor('term_getline(g:buf, 1) != ""')
+  call WaitFor({-> term_getline(buf, 1) != ""})
   if has('win32')
-    call term_sendkeys(g:buf, "echo %VIM_SERVERNAME%\r")
+    call term_sendkeys(buf, "echo %VIM_SERVERNAME%\r")
   else
-    call term_sendkeys(g:buf, "echo $VIM_SERVERNAME\r")
+    call term_sendkeys(buf, "echo $VIM_SERVERNAME\r")
   endif
-  call term_wait(g:buf)
-  call Stop_shell_in_terminal(g:buf)
+  call term_wait(buf)
+  call Stop_shell_in_terminal(buf)
   call WaitFor('getline(2) == v:servername')
   call assert_equal(v:servername, getline(2))
 
-  exe g:buf . 'bwipe'
-  unlet g:buf
+  exe buf . 'bwipe'
+  unlet buf
 endfunc
 
 func Test_terminal_env()
-  let g:buf = Run_shell_in_terminal({'env': {'TESTENV': 'correct'}})
+  let buf = Run_shell_in_terminal({'env': {'TESTENV': 'correct'}})
   " Wait for the shell to display a prompt
-  call WaitFor('term_getline(g:buf, 1) != ""')
+  call WaitFor({-> term_getline(buf, 1) != ""})
   if has('win32')
-    call term_sendkeys(g:buf, "echo %TESTENV%\r")
+    call term_sendkeys(buf, "echo %TESTENV%\r")
   else
-    call term_sendkeys(g:buf, "echo $TESTENV\r")
+    call term_sendkeys(buf, "echo $TESTENV\r")
   endif
-  call term_wait(g:buf)
-  call Stop_shell_in_terminal(g:buf)
+  call term_wait(buf)
+  call Stop_shell_in_terminal(buf)
   call WaitFor('getline(2) == "correct"')
   call assert_equal('correct', getline(2))
 
-  exe g:buf . 'bwipe'
-  unlet g:buf
+  exe buf . 'bwipe'
 endfunc
 
 " must be last, we can't go back from GUI to terminal
@@ -591,8 +590,7 @@ func Test_terminal_no_cmd()
   else
     call system('echo "look here" > ' . pty)
   endif
-  let g:buf = buf
-  call WaitFor('term_getline(g:buf, 1) =~ "look here"')
+  call WaitFor({-> term_getline(buf, 1) =~ "look here"})
 
   call assert_match('look here', term_getline(buf, 1))
   bwipe!
@@ -672,8 +670,7 @@ func TerminalTmap(remap)
   call assert_equal('456', maparg('123', 't'))
   call assert_equal('abxde', maparg('456', 't'))
   call feedkeys("123", 'tx')
-  let g:buf = buf
-  call WaitFor("term_getline(g:buf,term_getcursor(g:buf)[0]) =~ 'abxde\\|456'")
+  call WaitFor({-> term_getline(buf, term_getcursor(buf)[0]) =~ 'abxde\|456'})
   let lnum = term_getcursor(buf)[0]
   if a:remap
     call assert_match('abxde', term_getline(buf, lnum))
@@ -816,12 +813,9 @@ func Test_terminal_response_to_control_s
   endif
 
   let buf = Run_shell_in_terminal({})
-  call term_wait(buf)
+  call WaitFor({-> term_getline(buf, 1) != ""})
 
-  new
-  call setline(1, "\x1b[6n")
-  write! Xescape
-  bwipe
+  call writefile(["\x1b[6n"], 'Xescape')
   call term_sendkeys(buf, "cat Xescape\<cr>")
 
   " wait for the response of control sequence from libvterm (and send it to tty)
@@ -909,7 +903,7 @@ func Test_terminal_qall_prompt()
   quit
 endfunc
 
-func Test_terminalopen_autocmd()
+func Test_terminal_open_autocmd()
   augroup repro
     au!
     au TerminalOpen * let s:called += 1
--- a/src/version.c
+++ b/src/version.c
@@ -767,6 +767,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1605,
+/**/
     1604,
 /**/
     1603,