]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 8.0.1452: terminal test fails on some systems v8.0.1452
authorBram Moolenaar <Bram@vim.org>
Fri, 2 Feb 2018 17:22:31 +0000 (18:22 +0100)
committerBram Moolenaar <Bram@vim.org>
Fri, 2 Feb 2018 17:22:31 +0000 (18:22 +0100)
Problem:    Terminal test fails on some systems. (jonathonf)
Solution:   Use "cat" instead of Python to produce the input.  Add a delay.
            (closes #2607)

src/testdir/test_terminal.vim
src/version.c

index 853c69c306bd00b92fb5bcb274ef7f789dbe2327..18d2815fb1a89197d5718c9b248731eb68ab4cd1 100644 (file)
@@ -815,17 +815,25 @@ func Test_terminal_response_to_control_sequence()
   let buf = Run_shell_in_terminal({})
   call term_wait(buf)
 
-  call term_sendkeys(buf, s:python . " -c 'import sys;sys.stdout.write(\"\\x1b[6n\")'\<cr>")
+  new
+  call setline(1, "\x1b[6n")
+  write! Xescape
+  bwipe
+  call term_sendkeys(buf, "cat Xescape\<cr>")
+
   " wait for the response of control sequence from libvterm (and send it to tty)
-  call term_wait(buf, 100)
-  " wait for output from tty to display
+  sleep 200m
   call term_wait(buf)
-  call assert_match(';\d\+R', term_getline(buf, 2))
+
+  " Wait for output from tty to display, below an empty line.
+  " It should show \e3;1R, but only 1R may show up
+  call assert_match('\<\d\+R', term_getline(buf, 3))
 
   call term_sendkeys(buf, "\<c-c>")
   call term_wait(buf)
   call Stop_shell_in_terminal(buf)
 
   exe buf . 'bwipe'
+  call delete('Xescape')
   unlet g:job
 endfunc
index e01f2be796edf1837bf209309614a75b69ecde1c..054949439c56aa6a80c4470fbe85e17e3e8410b7 100644 (file)
@@ -771,6 +771,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1452,
 /**/
     1451,
 /**/