Skip to content

Commit

Permalink
patch 8.2.4078: terminal test for current directory not used on FreeBSD
Browse files Browse the repository at this point in the history
Problem:    Terminal test for current directory not used on FreeBSD.
Solution:   Make it work on FreeBSD. (Ozaki Kiichi, closes #9516) Add
            TermWait() inside Run_shell_in_terminal() as a generic solution.
  • Loading branch information
brammool committed Jan 13, 2022
1 parent 8d9e470 commit ced2b38
Show file tree
Hide file tree
Showing 6 changed files with 12 additions and 27 deletions.
5 changes: 5 additions & 0 deletions src/testdir/term_util.vim
Expand Up @@ -24,6 +24,7 @@ func StopShellInTerminal(buf)
call term_sendkeys(a:buf, "exit\r")
let job = term_getjob(a:buf)
call WaitForAssert({-> assert_equal("dead", job_status(job))})
call TermWait(a:buf)
endfunc

" Wrapper around term_wait() to allow more time for re-runs of flaky tests
Expand Down Expand Up @@ -176,6 +177,10 @@ func Run_shell_in_terminal(options)
let string = string({'job': buf->term_getjob()})
call assert_match("{'job': 'process \\d\\+ run'}", string)

" On slower systems it may take a bit of time before the shell is ready to
" accept keys. This mainly matters when using term_sendkeys() next.
call TermWait(buf)

return buf
endfunc

Expand Down
1 change: 0 additions & 1 deletion src/testdir/test_mapping.vim
Expand Up @@ -976,7 +976,6 @@ func Test_map_cmdkey()
call assert_equal('t', m)
call assert_equal('t', mode(1))
call StopShellInTerminal(buf)
call TermWait(buf)
close!
tunmap <F3>
endif
Expand Down
12 changes: 0 additions & 12 deletions src/testdir/test_terminal.vim
Expand Up @@ -26,7 +26,6 @@ func Test_terminal_basic()
call assert_fails('set modifiable', 'E946:')

call StopShellInTerminal(buf)
call TermWait(buf)
call assert_equal('n', mode())
call assert_match('%aF[^\n]*finished]', execute('ls'))
call assert_match('%aF[^\n]*finished]', execute('ls F'))
Expand All @@ -48,7 +47,6 @@ func Test_terminal_no_name()
call assert_equal("", bufname(buf))
call assert_match('\[No Name\]', execute('file'))
call StopShellInTerminal(buf)
call TermWait(buf)
endfunc

func Test_terminal_TerminalWinOpen()
Expand All @@ -71,7 +69,6 @@ endfunc
func Test_terminal_make_change()
let buf = Run_shell_in_terminal({})
call StopShellInTerminal(buf)
call TermWait(buf)

setlocal modifiable
exe "normal Axxx\<Esc>"
Expand Down Expand Up @@ -109,7 +106,6 @@ endfunc

func Test_terminal_split_quit()
let buf = Run_shell_in_terminal({})
call TermWait(buf)
split
quit!
call TermWait(buf)
Expand Down Expand Up @@ -363,7 +359,6 @@ func Test_terminal_scrollback()
call assert_inrange(91, 100, lines)

call StopShellInTerminal(buf)
call TermWait(buf)
exe buf . 'bwipe'
set termwinscroll&
call delete('Xtext')
Expand Down Expand Up @@ -751,7 +746,6 @@ func Test_terminal_noblock()

let g:job = term_getjob(buf)
call StopShellInTerminal(buf)
call TermWait(buf)
unlet g:job
bwipe
endfunc
Expand Down Expand Up @@ -934,7 +928,6 @@ func TerminalTmap(remap)

call term_sendkeys(buf, "\r")
call StopShellInTerminal(buf)
call TermWait(buf)

tunmap 123
tunmap 456
Expand All @@ -952,7 +945,6 @@ func Test_terminal_wall()
let buf = Run_shell_in_terminal({})
wall
call StopShellInTerminal(buf)
call TermWait(buf)
exe buf . 'bwipe'
unlet g:job
endfunc
Expand All @@ -961,7 +953,6 @@ func Test_terminal_wqall()
let buf = Run_shell_in_terminal({})
call assert_fails('wqall', 'E948:')
call StopShellInTerminal(buf)
call TermWait(buf)
exe buf . 'bwipe'
unlet g:job
endfunc
Expand Down Expand Up @@ -2001,7 +1992,6 @@ func Test_terminal_ansicolors_default()
let buf = Run_shell_in_terminal({})
call assert_equal(colors, term_getansicolors(buf))
call StopShellInTerminal(buf)
call TermWait(buf)
call assert_equal([], term_getansicolors(buf))

exe buf . 'bwipe'
Expand All @@ -2026,7 +2016,6 @@ func Test_terminal_ansicolors_global()
let buf = Run_shell_in_terminal({})
call assert_equal(g:terminal_ansi_colors, term_getansicolors(buf))
call StopShellInTerminal(buf)
call TermWait(buf)

exe buf . 'bwipe'
unlet g:terminal_ansi_colors
Expand Down Expand Up @@ -2060,7 +2049,6 @@ func Test_terminal_ansicolors_func()
call assert_fails('call term_setansicolors(buf, {})', 'E714:')

call StopShellInTerminal(buf)
call TermWait(buf)
call assert_equal(0, term_setansicolors(buf, []))
exe buf . 'bwipe'
endfunc
Expand Down
7 changes: 0 additions & 7 deletions src/testdir/test_terminal2.vim
Expand Up @@ -49,23 +49,20 @@ func Test_terminal_termwinsize_option_zero()
let win = bufwinid(buf)
call assert_equal([winheight(win), winwidth(win)], term_getsize(buf))
call StopShellInTerminal(buf)
call TermWait(buf)
exe buf . 'bwipe'

set termwinsize=7x0
let buf = Run_shell_in_terminal({})
let win = bufwinid(buf)
call assert_equal([7, winwidth(win)], term_getsize(buf))
call StopShellInTerminal(buf)
call TermWait(buf)
exe buf . 'bwipe'

set termwinsize=0x33
let buf = Run_shell_in_terminal({})
let win = bufwinid(buf)
call assert_equal([winheight(win), 33], term_getsize(buf))
call StopShellInTerminal(buf)
call TermWait(buf)
exe buf . 'bwipe'

set termwinsize=
Expand Down Expand Up @@ -95,15 +92,13 @@ func Test_terminal_termwinsize_minimum()
call assert_equal(30, winwidth(win))

call StopShellInTerminal(buf)
call TermWait(buf)
exe buf . 'bwipe'

set termwinsize=0*0
let buf = Run_shell_in_terminal({})
let win = bufwinid(buf)
call assert_equal([winheight(win), winwidth(win)], term_getsize(buf))
call StopShellInTerminal(buf)
call TermWait(buf)
exe buf . 'bwipe'

set termwinsize=
Expand Down Expand Up @@ -287,7 +282,6 @@ func Test_zz1_terminal_in_gui()
call assert_equal(1, winnr('$'))
let buf = Run_shell_in_terminal({'term_finish': 'close'})
call StopShellInTerminal(buf)
call TermWait(buf)

" closing window wipes out the terminal buffer a with finished job
call WaitForAssert({-> assert_equal(1, winnr('$'))})
Expand Down Expand Up @@ -572,7 +566,6 @@ func Test_term_gettty()
call assert_equal('', term_gettty(buf + 1))

call StopShellInTerminal(buf)
call TermWait(buf)
exe buf . 'bwipe'
endfunc

Expand Down
12 changes: 5 additions & 7 deletions src/testdir/test_terminal3.vim
Expand Up @@ -779,8 +779,6 @@ endfunc
func Test_terminal_sync_shell_dir()
CheckUnix
" The test always use sh (see src/testdir/unix.vim).
" However, BSD's sh doesn't seem to play well with OSC 7 escape sequence.
CheckNotBSD

set asd
" , is
Expand All @@ -789,15 +787,15 @@ func Test_terminal_sync_shell_dir()
let chars = ",a"
" "," is url-encoded as '%2C'
let chars_url = "%2Ca"
let tmpfolder = fnamemodify(tempname(),':h').'/'.chars
let tmpfolder_url = fnamemodify(tempname(),':h').'/'.chars_url
let tmpfolder = fnamemodify(tempname(),':h') .. '/' .. chars
let tmpfolder_url = fnamemodify(tempname(),':h') .. '/' .. chars_url
call mkdir(tmpfolder, "p")
let buf = Run_shell_in_terminal({})
call term_sendkeys(buf, "echo -ne $'\\e\]7;file://".tmpfolder_url."\\a'\<CR>")
"call term_sendkeys(buf, "cd ".tmpfolder."\<CR>")
call term_sendkeys(buf, "echo $'\\e\]7;file://" .. tmpfolder_url .. "\\a'\<CR>")
"call term_sendkeys(buf, "cd " .. tmpfolder .. "\<CR>")
call TermWait(buf)
if has("mac")
let expected = "/private".tmpfolder
let expected = "/private" .. tmpfolder
else
let expected = tmpfolder
endif
Expand Down
2 changes: 2 additions & 0 deletions src/version.c
Expand Up @@ -750,6 +750,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
4078,
/**/
4077,
/**/
Expand Down

0 comments on commit ced2b38

Please sign in to comment.