diff options
author | Bram Moolenaar <Bram@vim.org> | 2018-03-13 17:55:27 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2018-03-13 17:55:27 +0100 |
commit | 012eb6629337fdf8afca78a24faa132e9b42e7b4 (patch) | |
tree | 294c4a8acb137c0726361fa94a9304fd3d4299a6 /src | |
parent | a903472cfa048e7a29d9c6ed0945ef03e48c6a08 (diff) |
patch 8.0.1605: terminal test is a bit flakyv8.0.1605
Problem: Terminal test is a bit flaky.
Solution: Check for the shell prompt. Use more lambda functions.
Diffstat (limited to 'src')
-rw-r--r-- | src/testdir/test_terminal.vim | 46 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 22 insertions, 26 deletions
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim index d8e40d1c3e..9ac0f2755b 100644 --- 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_sequence() 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 diff --git a/src/version.c b/src/version.c index 36e94b1228..3236096c1c 100644 --- 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, |