patch 8.0.0088
Problem: When a test fails in Setup or Teardown the problem is not reported.
Solution: Add a try/catch. (Hirohito Higashi)
diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim
index c4cb847..3ba3b02 100644
--- a/src/testdir/runtest.vim
+++ b/src/testdir/runtest.vim
@@ -89,7 +89,11 @@
function RunTheTest(test)
echo 'Executing ' . a:test
if exists("*SetUp")
- call SetUp()
+ try
+ call SetUp()
+ catch
+ call add(v:errors, 'Caught exception in SetUp() before ' . a:test . ': ' . v:exception . ' @ ' . v:throwpoint)
+ endtry
endif
call add(s:messages, 'Executing ' . a:test)
@@ -104,7 +108,11 @@
endtry
if exists("*TearDown")
- call TearDown()
+ try
+ call TearDown()
+ catch
+ call add(v:errors, 'Caught exception in TearDown() after ' . a:test . ': ' . v:exception . ' @ ' . v:throwpoint)
+ endtry
endif
" Close any extra windows and make the current one not modified.
@@ -221,3 +229,5 @@
write
qall!
+
+" vim: shiftwidth=2 sts=2 expandtab