# HG changeset patch # User Bram Moolenaar # Date 1572219903 -3600 # Node ID 0eeaa9a6e4e7b842250067f338d80971438dabf3 # Parent fa7598096478c3fade59a89ecd76a550a5691340 patch 8.1.2230: MS-Windows: testing external commands can be improved Commit: https://github.com/vim/vim/commit/077ff436a77f95c69da219af8cd8f553ff4f9ff8 Author: Bram Moolenaar 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) diff --git a/src/testdir/test_normal.vim b/src/testdir/test_normal.vim --- 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 diff --git a/src/testdir/test_system.vim b/src/testdir/test_system.vim --- 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\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\df"], systemlist('cat', ["as\df"])) - endif - new Xdummy call setline(1, ['asdf', "pw\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') diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim --- 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 diff --git a/src/testdir/test_undo.vim b/src/testdir/test_undo.vim --- 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')) diff --git a/src/version.c b/src/version.c --- 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,