]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 8.1.2230: MS-Windows: testing external commands can be improved v8.1.2230
authorBram Moolenaar <Bram@vim.org>
Sun, 27 Oct 2019 23:42:21 +0000 (00:42 +0100)
committerBram Moolenaar <Bram@vim.org>
Sun, 27 Oct 2019 23:42:21 +0000 (00:42 +0100)
Problem:    MS-Windows: testing external commands can be improved.
Solution:   Adjust tests, remove duplicate test. (closes #4928)

src/testdir/test_normal.vim
src/testdir/test_system.vim
src/testdir/test_terminal.vim
src/testdir/test_undo.vim
src/version.c

index da9c004a847e2ed2e26aecae5fc8a8f933eebdba..b37f613edef14d3d307611d7b18562f97f383bb6 100644 (file)
@@ -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
index eabccfb371e0df26dd639df0c422cf71bbf94f02..e69a045522651051a5663cd6b085ec212067bf86 100644 (file)
@@ -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)
-
-  let out = systemlist('wc -l', bufnr('%'))
-  " On Windows we may get a trailing CR.
-  if out != ["3\r"]
+
+  if executable('wc')
+    let out = system('wc -l', bufnr('%'))
     " On OS/X we get leading spaces
-    if type(out) == v:t_list
-      let out[0] = substitute(out[0], '^ *', '', '')
+    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], '^ *', '', '')
+      endif
+      call assert_equal(['3'],  out)
     endif
-    call assert_equal(['3'],  out)
   endif
 
   if !has('win32')
index 212a15f3146f31bd4f16b1f91a81db8461440820..9aae680b4fc9e70e0bb9edfec4c158537f52642c 100644 (file)
@@ -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_last_newlines()
 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
 
index 4a534ae63189347680a040c19723ba84d2902ed9..12d835b48e68a95fa0de8342fd70fe11c59e2519 100644 (file)
@@ -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'))
index 350f596027cc491f1923dbf11080fad8fb6b9725..07a8cd9e514bb11f6978de6a7d289f684eabc460 100644 (file)
@@ -741,6 +741,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2230,
 /**/
     2229,
 /**/