patch 9.1.0794: tests: tests may fail on Windows environment
Problem: tests: tests may fail on Windows environment
Solution: use shellcmdflag=/D to skip executing autorun from
the registry (Milly)
closes: #15900
Signed-off-by: Milly <milly.ca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/testdir/dos.vim b/src/testdir/dos.vim
index 3ea6ab2..6301af5 100644
--- a/src/testdir/dos.vim
+++ b/src/testdir/dos.vim
@@ -3,7 +3,7 @@
set shell=c:\COMMAND.COM shellquote= shellxquote= shellcmdflag=/c shellredir=>
" This is used only when the +eval feature is available.
if executable("cmd.exe")
- set shell=cmd.exe
+ set shell=cmd.exe shellcmdflag=/D\ /c
endif
source setup.vim
diff --git a/src/testdir/shared.vim b/src/testdir/shared.vim
index dd2f012..1edf65a 100644
--- a/src/testdir/shared.vim
+++ b/src/testdir/shared.vim
@@ -59,7 +59,7 @@
let job = job_start(a:cmd, {"stoponexit": "hup"})
call job_setoptions(job, {"stoponexit": "kill"})
elseif has('win32')
- exe 'silent !start cmd /c start "test_channel" ' . a:cmd
+ exe 'silent !start cmd /D /c start "test_channel" ' . a:cmd
else
exe 'silent !' . a:cmd . '&'
endif
diff --git a/src/testdir/term_util.vim b/src/testdir/term_util.vim
index d376a95..1a06db7 100644
--- a/src/testdir/term_util.vim
+++ b/src/testdir/term_util.vim
@@ -174,7 +174,7 @@
" number.
func Run_shell_in_terminal(options)
if has('win32')
- let buf = term_start([&shell, '/k'], a:options)
+ let buf = term_start([&shell, '/D', '/k'], a:options)
else
let buf = term_start(&shell, a:options)
endif
diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim
index 31ebc1b..531aa6b 100644
--- a/src/testdir/test_autocmd.vim
+++ b/src/testdir/test_autocmd.vim
@@ -89,7 +89,7 @@
let g:triggered = 0
au CursorHoldI * let g:triggered += 1
set updatetime=100
- call job_start(has('win32') ? 'cmd /c echo:' : 'echo',
+ call job_start(has('win32') ? 'cmd /D /c echo:' : 'echo',
\ {'exit_cb': {-> timer_start(200, 'ExitInsertMode')}})
call feedkeys('a', 'x!')
call assert_equal(1, g:triggered)
diff --git a/src/testdir/test_channel.vim b/src/testdir/test_channel.vim
index 4215a58..78c834d 100644
--- a/src/testdir/test_channel.vim
+++ b/src/testdir/test_channel.vim
@@ -1429,7 +1429,7 @@
new
let g:wipe_buf = bufnr('')
- let job = job_start(has('win32') ? 'cmd /c echo:' : ['true'],
+ let job = job_start(has('win32') ? 'cmd /D /c echo:' : ['true'],
\ {'exit_cb': 'ExitCbWipe'})
let timer = timer_start(300, {-> feedkeys("\<Esc>", 'nt')}, {'repeat': 5})
call feedkeys(repeat('g', 1000) . 'o', 'ntx!')
@@ -1770,7 +1770,7 @@
call assert_fails("call job_start('ls',
\ {'err_io' : 'buffer', 'err_buf' : -1})", 'E475:')
- let cmd = has('win32') ? "cmd /c dir" : "ls"
+ let cmd = has('win32') ? "cmd /D /c dir" : "ls"
set nomodifiable
call assert_fails("call job_start(cmd,
@@ -2308,7 +2308,7 @@
func Test_issue_5150()
if has('win32')
- let cmd = 'cmd /c pause'
+ let cmd = 'cmd /D /c pause'
else
let cmd = 'grep foo'
endif
@@ -2438,7 +2438,7 @@
let g:wait_exit_cb = 1
if has('win32')
- let cmd = 'cmd /c echo "Vim''s test"'
+ let cmd = 'cmd /D /c echo "Vim''s test"'
else
let cmd = 'echo "Vim''s test"'
endif
diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim
index 66b8876..85a3405 100644
--- a/src/testdir/test_functions.vim
+++ b/src/testdir/test_functions.vim
@@ -3416,7 +3416,7 @@
call assert_fails('call term_start(range(3, 4))', 'E474:')
let g:terminal_ansi_colors = range(16)
if has('win32')
- let cmd = "cmd /c dir"
+ let cmd = "cmd /D /c dir"
else
let cmd = "ls"
endif
diff --git a/src/testdir/test_swap.vim b/src/testdir/test_swap.vim
index 7532655..4ba7bb6 100644
--- a/src/testdir/test_swap.vim
+++ b/src/testdir/test_swap.vim
@@ -420,7 +420,7 @@
if has('job')
" Execute 'echo' as a temporary job, and return its pid as an unused pid.
if has('win32')
- let cmd = 'cmd /c echo'
+ let cmd = 'cmd /D /c echo'
else
let cmd = 'echo'
endif
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index bb6fca3..fa644d3 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -320,10 +320,10 @@
func Get_cat_123_cmd()
if has('win32')
if !has('conpty')
- return 'cmd /c "cls && color 2 && echo 123"'
+ return 'cmd /D /c "cls && color 2 && echo 123"'
else
" When clearing twice, extra sequence is not output.
- return 'cmd /c "cls && cls && color 2 && echo 123"'
+ return 'cmd /D /c "cls && cls && color 2 && echo 123"'
endif
else
call writefile(["\<Esc>[32m123"], 'Xtext')
@@ -410,7 +410,7 @@
if has('win32')
" Run cmd with UTF-8 codepage to make the type command print the expected
" multibyte characters.
- let buf = term_start("cmd /K chcp 65001")
+ let buf = term_start("cmd /D /K chcp 65001")
call term_sendkeys(buf, "type Xtext\<CR>")
eval buf->term_sendkeys("exit\<CR>")
let line = 4
@@ -457,7 +457,7 @@
func Test_terminal_scroll()
call writefile(range(1, 200), 'Xtext', 'D')
if has('win32')
- let cmd = 'cmd /c "type Xtext"'
+ let cmd = 'cmd /D /c "type Xtext"'
else
let cmd = "cat Xtext"
endif
@@ -765,7 +765,7 @@
func Test_terminal_cwd()
if has('win32')
- let cmd = 'cmd /c cd'
+ let cmd = 'cmd /D /c cd'
else
CheckExecutable pwd
let cmd = 'pwd'
@@ -1111,7 +1111,7 @@
set encoding=utf-8
if has('win32')
- let cmd = "cmd /K chcp 65001"
+ let cmd = "cmd /D /K chcp 65001"
let lnum = [3, 6, 9]
else
let cmd = &shell
diff --git a/src/testdir/test_terminal2.vim b/src/testdir/test_terminal2.vim
index 05b228e..166b179 100644
--- a/src/testdir/test_terminal2.vim
+++ b/src/testdir/test_terminal2.vim
@@ -450,7 +450,7 @@
for c in contents
call writefile(c, 'Xdntfile', 'D')
if has('win32')
- term cmd /c type Xdntfile
+ term cmd /D /c type Xdntfile
else
term cat Xdntfile
endif
@@ -465,7 +465,7 @@
func GetDummyCmd()
if has('win32')
- return 'cmd /c ""'
+ return 'cmd /D /c ""'
else
CheckExecutable false
return 'false'
diff --git a/src/testdir/test_windows_home.vim b/src/testdir/test_windows_home.vim
index 7db5395..ceed25a 100644
--- a/src/testdir/test_windows_home.vim
+++ b/src/testdir/test_windows_home.vim
@@ -105,7 +105,7 @@
RestoreEnv
let $HOME = save_home
let env = ''
- let job = job_start('cmd /c set', {'out_cb': {ch,x->[env,execute('let env=x')]}})
+ let job = job_start('cmd /D /c set', {'out_cb': {ch,x->[env,execute('let env=x')]}})
sleep 1
let env = filter(split(env, "\n"), 'v:val=="HOME"')
let home = len(env) == 0 ? "" : env[0]
diff --git a/src/version.c b/src/version.c
index 8c389ff..09a93cf 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 794,
+/**/
793,
/**/
792,