Permalink
Browse files

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.
  • Loading branch information...
brammool committed Jun 12, 2018
1 parent 7580849 commit 8903676d3d4c3fcb37d2a55c67370f30806b1626
Showing with 20 additions and 0 deletions.
  1. +12 −0 src/testdir/runtest.vim
  2. +6 −0 src/testdir/test_assert.vim
  3. +2 −0 src/version.c
@@ -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\+', '', ''))
@@ -174,6 +177,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()
@@ -198,3 +198,9 @@ func Test_user_is_happy()
smile
sleep 300m
endfunc
" Must be last.
func Test_zz_quit_detected()
" Verify that if a test function ends Vim the test script detects this.
quit
endfunc
@@ -761,6 +761,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
44,
/**/
43,
/**/

0 comments on commit 8903676

Please sign in to comment.