Mercurial > vim
view src/testdir/test_system.vim @ 16150:b23048205589 v8.1.1080
patch 8.1.1080: when a screendump test fails, moving the file is a hassle
commit https://github.com/vim/vim/commit/ef7f0e367eeaf6fb31b1caa0e3de1a4b07e86af3
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Mar 30 15:59:51 2019 +0100
patch 8.1.1080: when a screendump test fails, moving the file is a hassle
Problem: When a screendump test fails, moving the file is a hassle.
Solution: Instead of appending ".failed" to the file name, keep the same
file name but put the screendump in the "failed" directory.
Then the file name only needs to be typed once when moving a
screendump.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 30 Mar 2019 16:00:06 +0100 |
parents | 63b02fcf1361 |
children | 4c7097a980a5 |
line wrap: on
line source
" Tests for system() and systemlist() func Test_System() if !executable('echo') || !executable('cat') || !executable('wc') return endif let out = system('echo 123') " On Windows we may get a trailing space. if out != "123 \n" call assert_equal("123\n", out) endif let out = systemlist('echo 123') " On Windows we may get a trailing space and CR. if out != ["123 \r"] call assert_equal(['123'], out) endif 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"])) 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"] " 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 let out = systemlist('cat', bufnr('%')) " On Windows we may get a trailing CR. if out != ["asdf\r", "pw\<NL>er\r", "xxxx\r"] call assert_equal(['asdf', "pw\<NL>er", 'xxxx'], out) endif bwipe! call assert_fails('call system("wc -l", 99999)', 'E86:') endfunc func Test_system_exmode() if has('unix') " echo $? only works on Unix let cmd = ' -es -u NONE -c "source Xscript" +q; echo "result=$?"' " 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_match('result=0', a) call assert_equal(0, v:shell_error) endif " Error before try does set error flag. call writefile(['call nosuchfunction()', 'try', 'call doesnotexist()', 'catch', 'endtry'], 'Xscript') if has('unix') " echo $? only works on Unix let a = system(v:progpath . cmd) call assert_notequal('0', a[0]) endif let cmd = ' -es -u NONE -c "source Xscript" +q' let a = system(v:progpath . cmd) call assert_notequal(0, v:shell_error) 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