Mercurial > vim
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