mirror of
https://github.com/neovim/neovim.git
synced 2026-05-01 03:24:49 +00:00
vim-patch:8.1.0044: if a test function exists Vim this may go unnoticed
Problem: If a test function exists Vim this may go unnoticed.
Solution: Check for a test funtion quitting Vim. Fix tests that did exit
Vim.
8903676d3d
Restore test_assert.vim to run Test_zz_quit_detected().
This commit is contained in:
@@ -124,7 +124,10 @@ func RunTheTest(test)
|
||||
exe 'call ' . a:test
|
||||
else
|
||||
try
|
||||
let s:test = a:test
|
||||
au VimLeavePre * call EarlyExit(s:test)
|
||||
exe 'call ' . a:test
|
||||
au! VimLeavePre
|
||||
catch /^\cskipped/
|
||||
call add(s:messages, ' Skipped')
|
||||
call add(s:skipped, 'SKIPPED ' . a:test . ': ' . substitute(v:exception, '^\S*\s\+', '', ''))
|
||||
@@ -178,6 +181,15 @@ func AfterTheTest()
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func EarlyExit(test)
|
||||
" It's OK for the test we use to test the quit detection.
|
||||
if a:test != 'Test_zz_quit_detected()'
|
||||
call add(v:errors, 'Test caused Vim to exit: ' . a:test)
|
||||
endif
|
||||
|
||||
call FinishTesting()
|
||||
endfunc
|
||||
|
||||
" This function can be called by a test if it wants to abort testing.
|
||||
func FinishTesting()
|
||||
call AfterTheTest()
|
||||
|
||||
7
src/nvim/testdir/test_assert.vim
Normal file
7
src/nvim/testdir/test_assert.vim
Normal file
@@ -0,0 +1,7 @@
|
||||
" Test that the methods used for testing work.
|
||||
|
||||
" Must be last.
|
||||
func Test_zz_quit_detected()
|
||||
" Verify that if a test function ends Vim the test script detects this.
|
||||
quit
|
||||
endfunc
|
||||
Reference in New Issue
Block a user