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 #4928)
diff --git a/src/testdir/test_normal.vim b/src/testdir/test_normal.vim
index da9c004..b37f613 100644
--- a/src/testdir/test_normal.vim
+++ b/src/testdir/test_normal.vim
@@ -408,8 +408,7 @@
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
diff --git a/src/testdir/test_system.vim b/src/testdir/test_system.vim
index eabccfb..e69a045 100644
--- a/src/testdir/test_system.vim
+++ b/src/testdir/test_system.vim
@@ -18,44 +18,24 @@
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')
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index 212a15f..9aae680 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -563,11 +563,14 @@
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 @@
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
diff --git a/src/testdir/test_undo.vim b/src/testdir/test_undo.vim
index 4a534ae..12d835b 100644
--- a/src/testdir/test_undo.vim
+++ b/src/testdir/test_undo.vim
@@ -458,7 +458,7 @@
" 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'))
diff --git a/src/version.c b/src/version.c
index 350f596..07a8cd9 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2230,
+/**/
2229,
/**/
2228,