changeset 18473:0eeaa9a6e4e7 v8.1.2230

patch 8.1.2230: MS-Windows: testing external commands can be improved Commit: https://github.com/vim/vim/commit/077ff436a77f95c69da219af8cd8f553ff4f9ff8 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Oct 28 00:42:21 2019 +0100 patch 8.1.2230: MS-Windows: testing external commands can be improved Problem: MS-Windows: testing external commands can be improved. Solution: Adjust tests, remove duplicate test. (closes https://github.com/vim/vim/issues/4928)
author Bram Moolenaar <Bram@vim.org>
date Mon, 28 Oct 2019 00:45:03 +0100
parents fa7598096478
children 95daf3963003
files src/testdir/test_normal.vim src/testdir/test_system.vim src/testdir/test_terminal.vim src/testdir/test_undo.vim src/version.c
diffstat 5 files changed, 31 insertions(+), 41 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_normal.vim
+++ b/src/testdir/test_normal.vim
@@ -408,8 +408,7 @@ func Test_normal10_expand()
 
   if executable('echo')
     " Test expand(`...`) i.e. backticks command expansion.
-    " MS-Windows has a trailing space.
-    call assert_match('^abcde *$', expand('`echo abcde`'))
+    call assert_equal('abcde', expand('`echo abcde`'))
   endif
 
   " Test expand(`=...`) i.e. backticks expression expansion
--- a/src/testdir/test_system.vim
+++ b/src/testdir/test_system.vim
@@ -18,44 +18,24 @@ func Test_System()
     call assert_equal(["as\r", "df\r"], systemlist('more', ["as\<NL>df"]))
   endif
 
-  if !executable('cat') || !executable('wc')
-    return
-  endif
-
-  let out = 'echo 123'->system()
-  " On Windows we may get a trailing space.
-  if out != "123 \n"
-    call assert_equal("123\n", out)
-  endif
-
-  let out = 'echo 123'->systemlist()
-  if !has('win32')
-    call assert_equal(["123"], out)
-  else
-    call assert_equal(["123\r"], out)
-  endif
-
-  if executable('cat')
-    call assert_equal('123',   system('cat', '123'))	
-    call assert_equal(['123'], systemlist('cat', '123'))	
-    call assert_equal(["as\<NL>df"], systemlist('cat', ["as\<NL>df"])) 
-  endif
-
   new Xdummy
   call setline(1, ['asdf', "pw\<NL>er", 'xxxx'])
-  let out = system('wc -l', bufnr('%'))
-  " On OS/X we get leading spaces
-  let out = substitute(out, '^ *', '', '')
-  call assert_equal("3\n", out)
+
+  if executable('wc')
+    let out = system('wc -l', bufnr('%'))
+    " On OS/X we get leading spaces
+    let out = substitute(out, '^ *', '', '')
+    call assert_equal("3\n", out)
 
-  let out = systemlist('wc -l', bufnr('%'))
-  " On Windows we may get a trailing CR.
-  if out != ["3\r"]
-    " On OS/X we get leading spaces
-    if type(out) == v:t_list
-      let out[0] = substitute(out[0], '^ *', '', '')
+    let out = systemlist('wc -l', bufnr('%'))
+    " On Windows we may get a trailing CR.
+    if out != ["3\r"]
+      " On OS/X we get leading spaces
+      if type(out) == v:t_list
+        let out[0] = substitute(out[0], '^ *', '', '')
+      endif
+      call assert_equal(['3'],  out)
     endif
-    call assert_equal(['3'],  out)
   endif
 
   if !has('win32')
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -563,11 +563,14 @@ func Test_terminal_finish_open_close()
 endfunc
 
 func Test_terminal_cwd()
-  if !executable('pwd')
-    return
+  if has('win32')
+    let cmd = 'cmd /c cd'
+  else
+    CheckExecutable pwd
+    let cmd = 'pwd'
   endif
   call mkdir('Xdir')
-  let buf = term_start('pwd', {'cwd': 'Xdir'})
+  let buf = term_start(cmd, {'cwd': 'Xdir'})
   call WaitForAssert({-> assert_equal('Xdir', fnamemodify(getline(1), ":t"))})
 
   exe buf . 'bwipe'
@@ -2031,7 +2034,13 @@ func Test_terminal_does_not_truncate_las
 endfunc
 
 func Test_terminal_no_job()
-  let term = term_start('false', {'term_finish': 'close'})
+  if has('win32')
+    let cmd = 'cmd /c ""'
+  else
+    CheckExecutable false
+    let cmd = 'false'
+  endif
+  let term = term_start(cmd, {'term_finish': 'close'})
   call WaitForAssert({-> assert_equal(v:null, term_getjob(term)) })
 endfunc
 
--- a/src/testdir/test_undo.vim
+++ b/src/testdir/test_undo.vim
@@ -458,7 +458,7 @@ funct Test_undofile()
   " Test undofile() with 'undodir' set to a non-existing directory.
   call assert_equal('', 'Xundofoo'->undofile())
 
-  if isdirectory('/tmp')
+  if !has('win32') && isdirectory('/tmp')
     set undodir=/tmp
     if has('osx')
       call assert_equal('/tmp/%private%tmp%file', undofile('///tmp/file'))
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2230,
+/**/
     2229,
 /**/
     2228,