From: Bram Moolenaar Date: Sun, 25 Mar 2018 19:24:12 +0000 (+0200) Subject: patch 8.0.1645: test for terminal response to escape sequence may fail X-Git-Tag: v8.0.1645 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=086eb876951aa0b0bee3de4ed0569bf4b70c6f31;p=vim patch 8.0.1645: test for terminal response to escape sequence may fail Problem: Test for terminal response to escape sequence fails for some people. (toothpik) Solution: Run "cat" and let it echo the characters. --- diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim index f981fcc95..ff5056832 100644 --- a/src/testdir/test_terminal.vim +++ b/src/testdir/test_terminal.vim @@ -833,25 +833,22 @@ func Test_terminal_response_to_control_sequence() endif let buf = Run_shell_in_terminal({}) - call WaitFor({-> term_getline(buf, 1) != ""}) + call WaitFor({-> term_getline(buf, 1) != ''}) - call writefile(["\x1b[6n"], 'Xescape') - call term_sendkeys(buf, "cat Xescape\") + call term_sendkeys(buf, "cat\") + call WaitFor({-> term_getline(buf, 1) =~ 'cat'}) - " wait for the response of control sequence from libvterm (and send it to tty) - sleep 200m - call term_wait(buf) + " Request the cursor position. + call term_sendkeys(buf, "\x1b[6n\") " 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 WaitFor({-> term_getline(buf, 4) =~ '3;1R'}) - call term_sendkeys(buf, "\") - call term_wait(buf) - call Stop_shell_in_terminal(buf) + " End "cat" gently. + call term_sendkeys(buf, "\\") + call Stop_shell_in_terminal(buf) exe buf . 'bwipe' - call delete('Xescape') unlet g:job endfunc diff --git a/src/version.c b/src/version.c index 1a8c10ea4..2cc99778d 100644 --- a/src/version.c +++ b/src/version.c @@ -766,6 +766,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1645, /**/ 1644, /**/