]> granicus.if.org Git - vim/commitdiff
patch 8.2.4078: terminal test for current directory not used on FreeBSD v8.2.4078
authorBram Moolenaar <Bram@vim.org>
Thu, 13 Jan 2022 15:25:32 +0000 (15:25 +0000)
committerBram Moolenaar <Bram@vim.org>
Thu, 13 Jan 2022 15:25:32 +0000 (15:25 +0000)
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.

src/testdir/term_util.vim
src/testdir/test_mapping.vim
src/testdir/test_terminal.vim
src/testdir/test_terminal2.vim
src/testdir/test_terminal3.vim
src/version.c

index de87dd420e96ba1857ad78ec3ee49f490108df8b..d748ed057b4adb896e04a99bccc3e8f30a9b6a3a 100644 (file)
@@ -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
@@ -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
 
index dd0c8d1043fd064ce7c3658b14b12dca7c9eebc9..2e9c3e8cdc015ef0f21919e89db34c2089c28e84 100644 (file)
@@ -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
index 3fda75dfb61ad355878946c8772ca162be4c450f..45a364666020dd61ff0ee590c6260bc25b0c859a 100644 (file)
@@ -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'))
@@ -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()
@@ -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>"
@@ -109,7 +106,6 @@ endfunc
 
 func Test_terminal_split_quit()
   let buf = Run_shell_in_terminal({})
-  call TermWait(buf)
   split
   quit!
   call TermWait(buf)
@@ -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')
@@ -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
@@ -934,7 +928,6 @@ func TerminalTmap(remap)
 
   call term_sendkeys(buf, "\r")
   call StopShellInTerminal(buf)
-  call TermWait(buf)
 
   tunmap 123
   tunmap 456
@@ -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
@@ -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
@@ -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'
@@ -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
@@ -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
index 088f697ec6761723a84a16a4410a6b35540c462b..a40fc8488528c61adc1e6fb340111127ec28b7c2 100644 (file)
@@ -49,7 +49,6 @@ 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
@@ -57,7 +56,6 @@ func Test_terminal_termwinsize_option_zero()
   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
@@ -65,7 +63,6 @@ func Test_terminal_termwinsize_option_zero()
   let win = bufwinid(buf)
   call assert_equal([winheight(win), 33], term_getsize(buf))
   call StopShellInTerminal(buf)
-  call TermWait(buf)
   exe buf . 'bwipe'
 
   set termwinsize=
@@ -95,7 +92,6 @@ func Test_terminal_termwinsize_minimum()
   call assert_equal(30, winwidth(win))
 
   call StopShellInTerminal(buf)
-  call TermWait(buf)
   exe buf . 'bwipe'
 
   set termwinsize=0*0
@@ -103,7 +99,6 @@ func Test_terminal_termwinsize_minimum()
   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=
@@ -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('$'))})
@@ -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
 
index a351799a7e02ee8b8168231e76f5bfc83d7d7b08..5e7a89f4f2c8074e34ace242468ff93aba35be83 100644 (file)
@@ -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
@@ -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
index 52774003f5b4b4bf6b3e369d8b1ae9e6afd56335..7f631da2fc71d3aef726a479caca5940b617b389 100644 (file)
@@ -750,6 +750,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    4078,
 /**/
     4077,
 /**/