From: Bram Moolenaar Date: Mon, 28 Dec 2015 13:44:10 +0000 (+0100) Subject: patch 7.4.981 X-Git-Tag: v7.4.981 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4686b323e4bc0f466500b018959f6c8965f010f9;p=vim patch 7.4.981 Problem: An error in a test script goes unnoticed. Solution: Source the test script inside try/catch. (Hirohito Higashi) --- diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim index 0dc142eb9..cca7c751d 100644 --- a/src/testdir/runtest.vim +++ b/src/testdir/runtest.vim @@ -21,9 +21,7 @@ " It will be called after each Test_ function. " Without the +eval feature we can't run these tests, bail out. -if 0 - quit! -endif +so small.vim " Check that the screen size is at least 24 x 80 characters. if &lines < 24 || &columns < 80 @@ -38,7 +36,15 @@ endif " Source the test script. First grab the file name, in case the script " navigates away. let testname = expand('%') -source % +let done = 0 +let fail = 0 +let errors = [] +try + source % +catch + let fail += 1 + call add(errors, 'Caught exception: ' . v:exception . ' @ ' . v:throwpoint) +endtry " Locate Test_ functions and execute them. redir @q @@ -46,9 +52,6 @@ function /^Test_ redir END let tests = split(substitute(@q, 'function \(\k*()\)', '\1', 'g')) -let done = 0 -let fail = 0 -let errors = [] for test in tests if exists("*SetUp") call SetUp() diff --git a/src/version.c b/src/version.c index 262876e2b..ac5bb1f22 100644 --- a/src/version.c +++ b/src/version.c @@ -741,6 +741,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 981, /**/ 980, /**/