neovim/src/nvim/testdir/check.vim

108 lines
2.8 KiB
VimL
Raw Normal View History

source shared.vim
source term_util.vim
" Command to check for the presence of a feature.
command -nargs=1 CheckFeature call CheckFeature(<f-args>)
func CheckFeature(name)
if !has(a:name)
throw 'Skipped: ' .. a:name .. ' feature missing'
endif
endfunc
" Command to check for the presence of a working option.
command -nargs=1 CheckOption call CheckOption(<f-args>)
func CheckOption(name)
if !exists('+' .. a:name)
throw 'Skipped: ' .. a:name .. ' option not supported'
endif
endfunc
" Command to check for the presence of a function.
command -nargs=1 CheckFunction call CheckFunction(<f-args>)
func CheckFunction(name)
if !exists('*' .. a:name)
throw 'Skipped: ' .. a:name .. ' function missing'
endif
endfunc
vim-patch:8.2.0665: wrongly assuming Python executable is called "python" Problem: Wrongly assuming Python executable is called "python". Solution: Use detected python command. (Ken Takata, closes vim/vim#6016) Also use CheckFunction if possible. https://github.com/vim/vim/commit/a161cb5dddd6d374899e46fde834ce9ba5c80c0b CheckPython() is used only in test_terminal.vim as of patch 8.2.1794. test_terminal.vim is no-opt in Neovim. I ported it only for merging Vim patches. N/A patches for version.c: vim-patch:8.1.2239: CI fails when running tests without building Vim Problem: CI fails when running tests without building Vim. Solution: Skip creating doc tags if the execute does not exist. https://github.com/vim/vim/commit/1a577433ac77b74a965476799619ad0fb2676d31 vim-patch:8.1.2242: creating docs tags uses user preferences Problem: Creating docs tags uses user preferences. (Tony Mechelynck) Solution: Add "--clean". https://github.com/vim/vim/commit/70def98a957620cc325d1ab6ee35f13187598693 vim-patch:8.1.2247: "make vimtags" does not work in runtime/doc Problem: "make vimtags" does not work in runtime/doc. Solution: Test existence with "which" instead of "test -x". (Ken Takata) https://github.com/vim/vim/commit/e890b9f5dd3ae76e301b2df7f3151366acaba5dc vim-patch:8.1.2249: "make vimtags" does not print any message Problem: "make vimtags" does not print any message. Solution: Add a message that the tags have been updated. https://github.com/vim/vim/commit/d047840ce4b770a86bacab0d62e72d0f61a2b8ab vim-patch:8.1.2253: using "which" to check for an executable is not reliable Problem: Using "which" to check for an executable is not reliable. Solution: Use "command -v" instead. Also exit with error code when generating tags has an error. (closes vim/vim#5174) https://github.com/vim/vim/commit/ad4de52510d5b4a949c0c9e25b5d5333744820b3 vim-patch:8.2.0354: Python 3.9 does not define _Py_DEC_REFTOTAL Problem: Python 3.9 does not define _Py_DEC_REFTOTAL. (Zdenek Dohnal) Solution: Remove it, it was only for debugging. https://github.com/vim/vim/commit/a65bb53514a1af1ec0dc5c4831dfaef69f139a48 vim-patch:8.2.0603: configure does not detect moonjit Problem: Configure does not detect moonjit. Solution: Add check for moonjit. (Shlomi Fish, closes vim/vim#5947) https://github.com/vim/vim/commit/f49e5640821d8ef752fb50d99edcf40bb62a4d4d vim-patch:8.2.0609: configure does not detect moonjit correctly Problem: Configure does not detect moonjit correctly. Solution: Double the brackets. (Ozaki Kiichi) https://github.com/vim/vim/commit/ad4dc83389931a0354c3691b42f99a5bb98c766f vim-patch:8.2.1570: configure check for dirfd() does not work on HPUX Problem: Configure check for dirfd() does not work on HPUX. (Michael Osipov) Solution: Use AC_TRY_LINK instead of AC_TRY_COMPILE. (closes vim/vim#6838) https://github.com/vim/vim/commit/9d8bfae50fdaf5f5ec6307c60ebd1fad0927c6be vim-patch:8.2.1790: MS-Windows with Python: crash when executed from Vifm Problem: MS-Windows with Python: crash when executed from Vifm. Solution: Use NUL instead of CONIN. (Ken Takata, closes vim/vim#7061, closes vim/vim#7053) https://github.com/vim/vim/commit/794771cfd83af2a0d1926bed301e784447e7290b vim-patch:8.2.1792: Configure does not recognize Racket 6.1+ Problem: Configure does not recognize Racket 6.1+. Solution: Add a check for "rktio". (closes vim/vim#7062) https://github.com/vim/vim/commit/588d241d44fc25ad4c5a635ee4fdeafdfcee0fde
2020-10-03 14:05:09 -07:00
" Command to check for the presence of python. Argument should have been
" obtained with PythonProg()
func CheckPython(name)
if a:name == ''
throw 'Skipped: python command not available'
endif
endfunc
" Command to check for running on MS-Windows
command CheckMSWindows call CheckMSWindows()
func CheckMSWindows()
if !has('win32')
throw 'Skipped: only works on MS-Windows'
endif
endfunc
" Command to check for running on Unix
command CheckUnix call CheckUnix()
func CheckUnix()
if !has('unix')
throw 'Skipped: only works on Unix'
endif
endfunc
" Command to check that making screendumps is supported.
" Caller must source screendump.vim
command CheckScreendump call CheckScreendump()
func CheckScreendump()
if !CanRunVimInTerminal()
throw 'Skipped: cannot make screendumps'
endif
endfunc
" Command to check that we can Run Vim in a terminal window
command CheckRunVimInTerminal call CheckRunVimInTerminal()
func CheckRunVimInTerminal()
if !CanRunVimInTerminal()
throw 'Skipped: cannot run Vim in a terminal window'
endif
endfunc
" Command to check that we can run the GUI
command CheckCanRunGui call CheckCanRunGui()
func CheckCanRunGui()
if !has('gui') || ($DISPLAY == "" && !has('gui_running'))
throw 'Skipped: cannot start the GUI'
endif
endfunc
" Command to check that we are using the GUI
command CheckGui call CheckGui()
func CheckGui()
if !has('gui_running')
throw 'Skipped: only works in the GUI'
endif
endfunc
" Command to check that not currently using the GUI
command CheckNotGui call CheckNotGui()
func CheckNotGui()
if has('gui_running')
throw 'Skipped: only works in the terminal'
endif
endfunc
" Command to check that the current language is English
command CheckEnglish call CheckEnglish()
func CheckEnglish()
if v:lang != "C" && v:lang !~ '^[Ee]n'
throw 'Skipped: only works in English language environment'
endif
endfunc
" Command to check for NOT running on MS-Windows
command CheckNotMSWindows call CheckNotMSWindows()
func CheckNotMSWindows()
if has('win32')
throw 'Skipped: does not work on MS-Windows'
endif
endfunc