mirror of
https://github.com/neovim/neovim.git
synced 2025-10-16 14:56:08 +00:00
vim-patches: test_system.vim
vim-patch:8.0.0185: system() test fails on MS-Windows vim-patch:8.0.0197: system() test skips some parts for MS-Windows vim-patch:8.0.0701: system test failing when using X11 forwarding
This commit is contained in:
@@ -48,38 +48,45 @@ function! Test_System()
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! Test_system_exmode()
|
function! Test_system_exmode()
|
||||||
let cmd=" -es --headless -u NONE -c 'source Xscript' +q; echo $?"
|
if has('unix') " echo $? only works on Unix
|
||||||
|
let cmd = ' -es --headless -u NONE -c "source Xscript" +q; echo "result=$?"'
|
||||||
" Need to put this in a script, "catch" isn't found after an unknown
|
" Need to put this in a script, "catch" isn't found after an unknown
|
||||||
" function.
|
" function.
|
||||||
call writefile(['try', 'call doesnotexist()', 'catch', 'endtry'], 'Xscript')
|
call writefile(['try', 'call doesnotexist()', 'catch', 'endtry'], 'Xscript')
|
||||||
let a = system(v:progpath . cmd)
|
let a = system(v:progpath . cmd)
|
||||||
call assert_equal('0', a[0])
|
call assert_match('result=0', a)
|
||||||
call assert_equal(0, v:shell_error)
|
call assert_equal(0, v:shell_error)
|
||||||
|
endif
|
||||||
|
|
||||||
" 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')
|
||||||
|
if has('unix') " echo $? only works on Unix
|
||||||
let a = system(v:progpath . cmd)
|
let a = system(v:progpath . cmd)
|
||||||
call assert_notequal('0', a[0])
|
call assert_notequal('0', a[0])
|
||||||
|
endif
|
||||||
|
|
||||||
let cmd=" -es --headless -u NONE -c 'source Xscript' +q"
|
let cmd = ' -es --headless -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 --headless -u NONE -c 'call doesnotexist()' +q; echo $?"
|
|
||||||
let a = system(v:progpath. cmd)
|
|
||||||
call assert_notequal(0, a[0])
|
|
||||||
|
|
||||||
let cmd=" -es --headless -u NONE -c 'call doesnotexist()' +q"
|
|
||||||
let a = system(v:progpath. cmd)
|
|
||||||
call assert_notequal(0, v:shell_error)
|
|
||||||
|
|
||||||
let cmd=" -es --headless -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 --headless -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 --headless -u NONE -c "call doesnotexist()" +q; echo $?'
|
||||||
|
let a = system(v:progpath. cmd)
|
||||||
|
call assert_notequal(0, a[0])
|
||||||
|
endif
|
||||||
|
|
||||||
|
let cmd = ' -es --headless -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 --headless -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 --headless -u NONE -c "call doesnotexist()|let a=1" +q'
|
||||||
|
let a = system(v:progpath. cmd)
|
||||||
|
call assert_notequal(0, v:shell_error)
|
||||||
endfunc
|
endfunc
|
||||||
|
Reference in New Issue
Block a user