0
0
mirror of https://github.com/vim/vim.git synced 2025-07-24 10:45:12 -04:00

patch 8.0.0197: system() test skips some parts for MS-Windows

Problem:    On MS-Windows the system() test skips a few parts.
Solution:   Swap single and double quotes for the command.
This commit is contained in:
Bram Moolenaar 2017-01-16 22:53:57 +01:00
parent c011a3d083
commit 97d62d4321
2 changed files with 35 additions and 30 deletions

View File

@ -48,42 +48,45 @@ function! Test_System()
endfunction endfunction
function! Test_system_exmode() function! Test_system_exmode()
if !has('unix') if has('unix') " echo $? only works on Unix
return let cmd = ' -es -u NONE -c "source Xscript" +q; echo $?'
" Need to put this in a script, "catch" isn't found after an unknown
" function.
call writefile(['try', 'call doesnotexist()', 'catch', 'endtry'], 'Xscript')
let a = system(v:progpath . cmd)
call assert_equal('0', a[0])
call assert_equal(0, v:shell_error)
endif endif
let cmd=" -es -u NONE -c 'source Xscript' +q; echo $?"
" Need to put this in a script, "catch" isn't found after an unknown
" function.
call writefile(['try', 'call doesnotexist()', 'catch', 'endtry'], 'Xscript')
let a = system(v:progpath . cmd)
call assert_equal('0', a[0])
call assert_equal(0, v:shell_error)
" Error before try does set error flag. " Error before try does set error flag.
call writefile(['call nosuchfunction()', 'try', 'call doesnotexist()', 'catch', 'endtry'], 'Xscript') call writefile(['call nosuchfunction()', 'try', 'call doesnotexist()', 'catch', 'endtry'], 'Xscript')
let a = system(v:progpath . cmd) if has('unix') " echo $? only works on Unix
call assert_notequal('0', a[0]) let a = system(v:progpath . cmd)
call assert_notequal('0', a[0])
endif
let cmd=" -es -u NONE -c 'source Xscript' +q" let cmd = ' -es -u NONE -c "source Xscript" +q'
let a = system(v:progpath . cmd) let a = system(v:progpath . cmd)
call assert_notequal(0, v:shell_error) call assert_notequal(0, v:shell_error)
let cmd=" -es -u NONE -c 'call doesnotexist()' +q; echo $?"
let a = system(v:progpath. cmd)
call assert_notequal(0, a[0])
let cmd=" -es -u NONE -c 'call doesnotexist()' +q"
let a = system(v:progpath. cmd)
call assert_notequal(0, v:shell_error)
let cmd=" -es -u NONE -c 'call doesnotexist()|let a=1' +q; echo $?"
let a = system(v:progpath. cmd)
call assert_notequal(0, a[0])
let cmd=" -es -u NONE -c 'call doesnotexist()|let a=1' +q"
let a = system(v:progpath. cmd)
call assert_notequal(0, v:shell_error)
call delete('Xscript') call delete('Xscript')
if has('unix') " echo $? only works on Unix
let cmd = ' -es -u NONE -c "call doesnotexist()" +q; echo $?'
let a = system(v:progpath. cmd)
call assert_notequal(0, a[0])
endif
let cmd = ' -es -u NONE -c "call doesnotexist()" +q'
let a = system(v:progpath. cmd)
call assert_notequal(0, v:shell_error)
if has('unix') " echo $? only works on Unix
let cmd = ' -es -u NONE -c "call doesnotexist()|let a=1" +q; echo $?'
let a = system(v:progpath. cmd)
call assert_notequal(0, a[0])
endif
let cmd = ' -es -u NONE -c "call doesnotexist()|let a=1" +q'
let a = system(v:progpath. cmd)
call assert_notequal(0, v:shell_error)
endfunc endfunc

View File

@ -764,6 +764,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
197,
/**/ /**/
196, 196,
/**/ /**/