aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2019-06-15 20:52:27 -0400
committerJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2019-06-15 21:48:27 -0400
commitc6c5754a86e091bce0e8d5342576bd96b5cc275f (patch)
tree1b6a536f2b3b1acfe4587495b3fa330296c85460
parent1abfeff97840992b3fc85d72e917ecde1acbb781 (diff)
downloadrneovim-c6c5754a86e091bce0e8d5342576bd96b5cc275f.tar.gz
rneovim-c6c5754a86e091bce0e8d5342576bd96b5cc275f.tar.bz2
rneovim-c6c5754a86e091bce0e8d5342576bd96b5cc275f.zip
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. https://github.com/vim/vim/commit/8903676d3d4c3fcb37d2a55c67370f30806b1626 Restore test_assert.vim to run Test_zz_quit_detected().
-rw-r--r--src/nvim/testdir/runtest.vim12
-rw-r--r--src/nvim/testdir/test_assert.vim7
2 files changed, 19 insertions, 0 deletions
diff --git a/src/nvim/testdir/runtest.vim b/src/nvim/testdir/runtest.vim
index e0d73c5a1e..6f039509f3 100644
--- a/src/nvim/testdir/runtest.vim
+++ b/src/nvim/testdir/runtest.vim
@@ -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()
diff --git a/src/nvim/testdir/test_assert.vim b/src/nvim/testdir/test_assert.vim
new file mode 100644
index 0000000000..fe87bd6ef5
--- /dev/null
+++ b/src/nvim/testdir/test_assert.vim
@@ -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