summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-06-13 22:19:53 +0200
committerBram Moolenaar <Bram@vim.org>2019-06-13 22:19:53 +0200
commitb0f94c1ff34d27d33aa9f96204985ea29c2eb0a1 (patch)
tree257407d2c2c31bff552c749fd9296642fc7f55c2
parent8d241040310a6a27c28d62fa04558f2bfaa5ebde (diff)
patch 8.1.1524: tests are silently skippedv8.1.1524
Problem: Tests are silently skipped. Solution: Throw an exception for skipped tests in more places.
-rw-r--r--src/testdir/shared.vim2
-rw-r--r--src/testdir/test_assert.vim19
-rw-r--r--src/testdir/test_crypt.vim2
-rw-r--r--src/testdir/test_cscope.vim7
-rw-r--r--src/testdir/test_digraph.vim2
-rw-r--r--src/testdir/test_float_func.vim2
-rw-r--r--src/testdir/test_gui.vim2
-rw-r--r--src/testdir/test_gui_init.vim2
-rw-r--r--src/testdir/test_history.vim2
-rw-r--r--src/testdir/test_langmap.vim2
-rw-r--r--src/testdir/test_listlbr.vim7
-rw-r--r--src/testdir/test_listlbr_utf8.vim10
-rw-r--r--src/testdir/test_lua.vim2
-rw-r--r--src/testdir/test_makeencoding.vim3
-rw-r--r--src/testdir/test_matchadd_conceal.vim3
-rw-r--r--src/testdir/test_matchadd_conceal_utf8.vim3
-rw-r--r--src/testdir/test_memory_usage.vim16
-rw-r--r--src/testdir/test_menu.vim2
-rw-r--r--src/testdir/test_mksession.vim2
-rw-r--r--src/testdir/test_mksession_utf8.vim2
-rw-r--r--src/testdir/test_netbeans.vim5
-rw-r--r--src/testdir/test_paste.vim9
-rw-r--r--src/testdir/test_perl.vim2
-rw-r--r--src/testdir/test_profile.vim3
-rw-r--r--src/testdir/test_prompt_buffer.vim2
-rw-r--r--src/testdir/test_python2.vim2
-rw-r--r--src/testdir/test_python3.vim2
-rw-r--r--src/testdir/test_pyx2.vim2
-rw-r--r--src/testdir/test_pyx3.vim2
-rw-r--r--src/testdir/test_quickfix.vim2
-rw-r--r--src/testdir/test_quotestar.vim2
-rw-r--r--src/testdir/test_reltime.vim7
-rw-r--r--src/testdir/test_ruby.vim2
-rw-r--r--src/testdir/test_sha256.vim7
-rw-r--r--src/testdir/test_shortpathname.vim2
-rw-r--r--src/testdir/test_signals.vim2
-rw-r--r--src/testdir/test_signs.vim2
-rw-r--r--src/testdir/test_spell.vim2
-rw-r--r--src/testdir/test_syntax.vim2
-rw-r--r--src/testdir/test_tcl.vim2
-rw-r--r--src/testdir/test_termcodes.vim7
-rw-r--r--src/testdir/test_terminal.vim2
-rw-r--r--src/testdir/test_terminal_fail.vim2
-rw-r--r--src/testdir/test_textobjects.vim2
-rw-r--r--src/testdir/test_textprop.vim2
-rw-r--r--src/testdir/test_timers.vim2
-rw-r--r--src/testdir/test_vartabs.vim2
-rw-r--r--src/testdir/test_winbar.vim2
-rw-r--r--src/testdir/test_windows_home.vim2
-rw-r--r--src/testdir/test_xxd.vim2
-rw-r--r--src/version.c2
51 files changed, 115 insertions, 65 deletions
diff --git a/src/testdir/shared.vim b/src/testdir/shared.vim
index 4546be7f74..ae023a73b9 100644
--- a/src/testdir/shared.vim
+++ b/src/testdir/shared.vim
@@ -330,7 +330,7 @@ endfunc
" Get line "lnum" as displayed on the screen.
" Trailing white space is trimmed.
-func! Screenline(lnum)
+func Screenline(lnum)
let chars = []
for c in range(1, winwidth(0))
call add(chars, nr2char(screenchar(a:lnum, c)))
diff --git a/src/testdir/test_assert.vim b/src/testdir/test_assert.vim
index 7df641c6a4..0d59a43a2d 100644
--- a/src/testdir/test_assert.vim
+++ b/src/testdir/test_assert.vim
@@ -222,6 +222,25 @@ func Test_override()
call assert_fails("call test_override('redraw', 'yes')", 'E474')
endfunc
+func Test_mouse_position()
+ let save_mouse = &mouse
+ set mouse=a
+ new
+ call setline(1, ['line one', 'line two'])
+ call assert_equal([0, 1, 1, 0], getpos('.'))
+ call test_setmouse(1, 5)
+ call feedkeys("\<LeftMouse>", "xt")
+ call assert_equal([0, 1, 5, 0], getpos('.'))
+ call test_setmouse(2, 20)
+ call feedkeys("\<LeftMouse>", "xt")
+ call assert_equal([0, 2, 8, 0], getpos('.'))
+ call test_setmouse(5, 1)
+ call feedkeys("\<LeftMouse>", "xt")
+ call assert_equal([0, 2, 1, 0], getpos('.'))
+ bwipe!
+ let &mouse = save_mouse
+endfunc
+
func Test_user_is_happy()
smile
sleep 300m
diff --git a/src/testdir/test_crypt.vim b/src/testdir/test_crypt.vim
index bf1a511118..db100991ab 100644
--- a/src/testdir/test_crypt.vim
+++ b/src/testdir/test_crypt.vim
@@ -1,7 +1,7 @@
" Tests for encryption.
if !has('cryptv')
- finish
+ throw 'Skipped, encryption feature missing'
endif
func Common_head_only(text)
diff --git a/src/testdir/test_cscope.vim b/src/testdir/test_cscope.vim
index 7795ac7af2..a3fcbd77b6 100644
--- a/src/testdir/test_cscope.vim
+++ b/src/testdir/test_cscope.vim
@@ -1,7 +1,10 @@
" Test for cscope commands.
-if !has('cscope') || !executable('cscope') || !has('quickfix')
- finish
+if !has('cscope') || !has('quickfix')
+ throw 'Skipped, cscope or quickfix feature missing'
+endif
+if !executable('cscope')
+ throw 'Skipped, cscope program missing'
endif
func CscopeSetupOrClean(setup)
diff --git a/src/testdir/test_digraph.vim b/src/testdir/test_digraph.vim
index 8d56a1a247..92d4e479a7 100644
--- a/src/testdir/test_digraph.vim
+++ b/src/testdir/test_digraph.vim
@@ -1,7 +1,7 @@
" Tests for digraphs
if !has("digraphs")
- finish
+ throw 'Skipped, digraphs feature missing'
endif
func Put_Dig(chars)
diff --git a/src/testdir/test_float_func.vim b/src/testdir/test_float_func.vim
index 29bfc9e2d0..6340b538f5 100644
--- a/src/testdir/test_float_func.vim
+++ b/src/testdir/test_float_func.vim
@@ -1,7 +1,7 @@
" test float functions
if !has('float')
- finish
+ throw 'Skipped, float feature missing'
end
func Test_abs()
diff --git a/src/testdir/test_gui.vim b/src/testdir/test_gui.vim
index 5a1763db8d..d030a6ae6a 100644
--- a/src/testdir/test_gui.vim
+++ b/src/testdir/test_gui.vim
@@ -2,7 +2,7 @@
source shared.vim
if !CanRunGui()
- finish
+ throw 'Skipped, cannot run GUI'
endif
source setup_gui.vim
diff --git a/src/testdir/test_gui_init.vim b/src/testdir/test_gui_init.vim
index 638708f4f1..a8eefa56b9 100644
--- a/src/testdir/test_gui_init.vim
+++ b/src/testdir/test_gui_init.vim
@@ -3,7 +3,7 @@
source shared.vim
if !CanRunGui()
- finish
+ throw 'Skipped, cannot run GUI'
endif
source setup_gui.vim
diff --git a/src/testdir/test_history.vim b/src/testdir/test_history.vim
index 16aad9889e..4b464137bb 100644
--- a/src/testdir/test_history.vim
+++ b/src/testdir/test_history.vim
@@ -1,7 +1,7 @@
" Tests for the history functions
if !has('cmdline_hist')
- finish
+ throw 'Skipped, cmdline_hist feature missing'
endif
set history=7
diff --git a/src/testdir/test_langmap.vim b/src/testdir/test_langmap.vim
index 572fad78ba..4b260f8480 100644
--- a/src/testdir/test_langmap.vim
+++ b/src/testdir/test_langmap.vim
@@ -1,7 +1,7 @@
" tests for 'langmap'
if !has('langmap')
- finish
+ throw 'Skipped, langmap feature missing'
endif
func Test_langmap()
diff --git a/src/testdir/test_listlbr.vim b/src/testdir/test_listlbr.vim
index 29e797dc25..5af4133ec8 100644
--- a/src/testdir/test_listlbr.vim
+++ b/src/testdir/test_listlbr.vim
@@ -3,8 +3,11 @@
set encoding=latin1
scriptencoding latin1
-if !exists("+linebreak") || !has("conceal")
- finish
+if !exists("+linebreak")
+ throw 'Skipped, linebreak option missing'
+endif
+if !has("conceal")
+ throw 'Skipped, conceal feature missing'
endif
source view_util.vim
diff --git a/src/testdir/test_listlbr_utf8.vim b/src/testdir/test_listlbr_utf8.vim
index c38e0c5f3c..1154d6626b 100644
--- a/src/testdir/test_listlbr_utf8.vim
+++ b/src/testdir/test_listlbr_utf8.vim
@@ -3,8 +3,14 @@
set encoding=utf-8
scriptencoding utf-8
-if !exists("+linebreak") || !has("conceal") || !has("signs")
- finish
+if !exists("+linebreak")
+ throw 'Skipped, linebreak option missing'
+endif
+if !has("conceal")
+ throw 'Skipped, conceal feature missing'
+endif
+if !has("signs")
+ throw 'Skipped, signs feature missing'
endif
source view_util.vim
diff --git a/src/testdir/test_lua.vim b/src/testdir/test_lua.vim
index 604cfedd32..5d2f088e3f 100644
--- a/src/testdir/test_lua.vim
+++ b/src/testdir/test_lua.vim
@@ -1,7 +1,7 @@
" Tests for Lua.
if !has('lua')
- finish
+ throw 'Skipped, lua feature missing'
endif
func TearDown()
diff --git a/src/testdir/test_makeencoding.vim b/src/testdir/test_makeencoding.vim
index d18b3b6de8..6de3c706f3 100644
--- a/src/testdir/test_makeencoding.vim
+++ b/src/testdir/test_makeencoding.vim
@@ -4,8 +4,7 @@ source shared.vim
let s:python = PythonProg()
if s:python == ''
- " Can't run this test.
- finish
+ throw 'Skipped, python program missing'
endif
let s:script = 'test_makeencoding.py'
diff --git a/src/testdir/test_matchadd_conceal.vim b/src/testdir/test_matchadd_conceal.vim
index 8d774a0005..a7c8b06f53 100644
--- a/src/testdir/test_matchadd_conceal.vim
+++ b/src/testdir/test_matchadd_conceal.vim
@@ -1,6 +1,7 @@
" Test for matchadd() and conceal feature
+
if !has('conceal')
- finish
+ throw 'Skipped, conceal feature missing'
endif
if !has('gui_running') && has('unix')
diff --git a/src/testdir/test_matchadd_conceal_utf8.vim b/src/testdir/test_matchadd_conceal_utf8.vim
index d280c153ac..fb275777da 100644
--- a/src/testdir/test_matchadd_conceal_utf8.vim
+++ b/src/testdir/test_matchadd_conceal_utf8.vim
@@ -1,6 +1,7 @@
" Test for matchadd() and conceal feature using utf-8.
+
if !has('conceal')
- finish
+ throw 'Skipped, conceal feature missing'
endif
if !has('gui_running') && has('unix')
diff --git a/src/testdir/test_memory_usage.vim b/src/testdir/test_memory_usage.vim
index 8c2f8f7315..eadd4ea970 100644
--- a/src/testdir/test_memory_usage.vim
+++ b/src/testdir/test_memory_usage.vim
@@ -1,9 +1,15 @@
" Tests for memory usage.
-if !has('terminal') || has('gui_running') || $ASAN_OPTIONS !=# ''
+if !has('terminal')
+ throw 'Skipped, terminal feature missing'
+endif
+if has('gui_running')
+ throw 'Skipped, does not work in GUI'
+endif
+if $ASAN_OPTIONS !=# ''
" Skip tests on Travis CI ASAN build because it's difficult to estimate
" memory usage.
- finish
+ throw 'Skipped, does not work with ASAN'
endif
source shared.vim
@@ -14,7 +20,7 @@ endfunc
if has('win32')
if !executable('wmic')
- finish
+ throw 'Skipped, wmic program missing'
endif
func s:memory_usage(pid) abort
let cmd = printf('wmic process where processid=%d get WorkingSetSize', a:pid)
@@ -22,13 +28,13 @@ if has('win32')
endfunc
elseif has('unix')
if !executable('ps')
- finish
+ throw 'Skipped, ps program missing'
endif
func s:memory_usage(pid) abort
return s:pick_nr(system('ps -o rss= -p ' . a:pid))
endfunc
else
- finish
+ throw 'Skipped, not win32 or unix'
endif
" Wait for memory usage to level off.
diff --git a/src/testdir/test_menu.vim b/src/testdir/test_menu.vim
index b57fdc3de2..99f888af19 100644
--- a/src/testdir/test_menu.vim
+++ b/src/testdir/test_menu.vim
@@ -1,7 +1,7 @@
" Test that the system menu can be loaded.
if !has('menu')
- finish
+ throw 'Skipped, menu feature missing'
endif
func Test_load_menu()
diff --git a/src/testdir/test_mksession.vim b/src/testdir/test_mksession.vim
index bc413968b4..ee2d148c67 100644
--- a/src/testdir/test_mksession.vim
+++ b/src/testdir/test_mksession.vim
@@ -4,7 +4,7 @@ set encoding=latin1
scriptencoding latin1
if !has('mksession')
- finish
+ throw 'Skipped, mksession feature missing'
endif
source shared.vim
diff --git a/src/testdir/test_mksession_utf8.vim b/src/testdir/test_mksession_utf8.vim
index 36f07512a8..6bf5823ce8 100644
--- a/src/testdir/test_mksession_utf8.vim
+++ b/src/testdir/test_mksession_utf8.vim
@@ -4,7 +4,7 @@ set encoding=utf-8
scriptencoding utf-8
if !has('mksession')
- finish
+ throw 'Skipped, mksession feature missing'
endif
func Test_mksession_utf8()
diff --git a/src/testdir/test_netbeans.vim b/src/testdir/test_netbeans.vim
index 66177ada76..836bddff3c 100644
--- a/src/testdir/test_netbeans.vim
+++ b/src/testdir/test_netbeans.vim
@@ -1,15 +1,14 @@
" Test the netbeans interface.
if !has('netbeans_intg')
- finish
+ throw 'Skipped, netbeans_intg feature missing'
endif
source shared.vim
let s:python = PythonProg()
if s:python == ''
- " Can't run this test.
- finish
+ throw 'Skipped, python program missing'
endif
" Run "testfunc" after sarting the server and stop the server afterwards.
diff --git a/src/testdir/test_paste.vim b/src/testdir/test_paste.vim
index 29206b94bc..ee69641538 100644
--- a/src/testdir/test_paste.vim
+++ b/src/testdir/test_paste.vim
@@ -1,8 +1,11 @@
" Tests for bracketed paste and other forms of pasting.
" Bracketed paste only works with "xterm". Not in GUI or Windows console.
-if has('gui_running') || has('win32')
- finish
+if has('win32')
+ throw 'Skipped, does not work on MS-Windows'
+endif
+if has('gui_running')
+ throw 'Skipped, does not work in the GUI'
endif
set term=xterm
@@ -122,7 +125,6 @@ func Test_xrestore()
if !has('xterm_clipboard')
return
endif
-call ch_logfile('logfile', 'w')
let display = $DISPLAY
new
call CheckCopyPaste()
@@ -133,6 +135,5 @@ call ch_logfile('logfile', 'w')
exe "xrestore " .. display
call CheckCopyPaste()
-call ch_logfile('', '')
bwipe!
endfunc
diff --git a/src/testdir/test_perl.vim b/src/testdir/test_perl.vim
index e24c04f7ce..d38fc07982 100644
--- a/src/testdir/test_perl.vim
+++ b/src/testdir/test_perl.vim
@@ -1,7 +1,7 @@
" Tests for Perl interface
if !has('perl')
- finish
+ throw 'Skipped, perl feature missing'
end
" FIXME: RunTest don't see any error when Perl abort...
diff --git a/src/testdir/test_profile.vim b/src/testdir/test_profile.vim
index ae47a6d8c3..ddabe3a953 100644
--- a/src/testdir/test_profile.vim
+++ b/src/testdir/test_profile.vim
@@ -1,6 +1,7 @@
" Test Vim profiler
+
if !has('profile')
- finish
+ throw 'Skipped, profile feature missing'
endif
func Test_profile_func()
diff --git a/src/testdir/test_prompt_buffer.vim b/src/testdir/test_prompt_buffer.vim
index 1b8a1ec749..5cf65d5135 100644
--- a/src/testdir/test_prompt_buffer.vim
+++ b/src/testdir/test_prompt_buffer.vim
@@ -1,7 +1,7 @@
" Tests for setting 'buftype' to "prompt"
if !has('channel')
- finish
+ throw 'Skipped, channel feature missing'
endif
source shared.vim
diff --git a/src/testdir/test_python2.vim b/src/testdir/test_python2.vim
index 5703231ed7..5b10852288 100644
--- a/src/testdir/test_python2.vim
+++ b/src/testdir/test_python2.vim
@@ -2,7 +2,7 @@
" TODO: move tests from test87.in here.
if !has('python')
- finish
+ throw 'Skipped, python feature missing'
endif
func Test_pydo()
diff --git a/src/testdir/test_python3.vim b/src/testdir/test_python3.vim
index aacc5a5759..e001360e75 100644
--- a/src/testdir/test_python3.vim
+++ b/src/testdir/test_python3.vim
@@ -2,7 +2,7 @@
" TODO: move tests from test88.in here.
if !has('python3')
- finish
+ throw 'Skipped, python3 feature missing'
endif
func Test_py3do()
diff --git a/src/testdir/test_pyx2.vim b/src/testdir/test_pyx2.vim
index baaf7fa300..64bd579c26 100644
--- a/src/testdir/test_pyx2.vim
+++ b/src/testdir/test_pyx2.vim
@@ -2,7 +2,7 @@
set pyx=2
if !has('python')
- finish
+ throw 'Skipped, python feature missing'
endif
let s:py2pattern = '^2\.[0-7]\.\d\+'
diff --git a/src/testdir/test_pyx3.vim b/src/testdir/test_pyx3.vim
index 4b6057a8d5..1b7bdae793 100644
--- a/src/testdir/test_pyx3.vim
+++ b/src/testdir/test_pyx3.vim
@@ -2,7 +2,7 @@
set pyx=3
if !has('python3')
- finish
+ throw 'Skipped, python3 feature missing'
endif
let s:py2pattern = '^2\.[0-7]\.\d\+'
diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim
index ef0a512028..2fa28c9947 100644
--- a/src/testdir/test_quickfix.vim
+++ b/src/testdir/test_quickfix.vim
@@ -1,7 +1,7 @@
" Test for the quickfix feature.
if !has('quickfix')
- finish
+ throw 'Skipped, quickfix feature missing'
endif
set encoding=utf-8
diff --git a/src/testdir/test_quotestar.vim b/src/testdir/test_quotestar.vim
index 1334201a7e..b6dab6b571 100644
--- a/src/testdir/test_quotestar.vim
+++ b/src/testdir/test_quotestar.vim
@@ -2,7 +2,7 @@
source shared.vim
if !WorkingClipboard()
- finish
+ throw 'Skipped, no working clipboard'
endif
source shared.vim
diff --git a/src/testdir/test_reltime.vim b/src/testdir/test_reltime.vim
index adabf16c1e..1876539103 100644
--- a/src/testdir/test_reltime.vim
+++ b/src/testdir/test_reltime.vim
@@ -1,7 +1,10 @@
" Tests for reltime()
-if !has('reltime') || !has('float')
- finish
+if !has('reltime')
+ throw 'Skipped, reltime feature missing'
+endif
+if !has('float')
+ throw 'Skipped, float feature missing'
endif
func Test_reltime()
diff --git a/src/testdir/test_ruby.vim b/src/testdir/test_ruby.vim
index 3c9df3a058..dcfdc62448 100644
--- a/src/testdir/test_ruby.vim
+++ b/src/testdir/test_ruby.vim
@@ -1,7 +1,7 @@
" Tests for ruby interface
if !has('ruby')
- finish
+ throw 'Skipped, ruby feature missing'
end
func Test_ruby_change_buffer()
diff --git a/src/testdir/test_sha256.vim b/src/testdir/test_sha256.vim
index dd4707977e..7f802b143b 100644
--- a/src/testdir/test_sha256.vim
+++ b/src/testdir/test_sha256.vim
@@ -1,7 +1,10 @@
" Tests for the sha256() function.
-if !has('cryptv') || !exists('*sha256')
- finish
+if !has('cryptv')
+ throw 'Skipped, cryptv feature missing'
+endif
+if !exists('*sha256')
+ throw 'Skipped, sha256 function missing'
endif
function Test_sha256()
diff --git a/src/testdir/test_shortpathname.vim b/src/testdir/test_shortpathname.vim
index f151788ced..564cd96123 100644
--- a/src/testdir/test_shortpathname.vim
+++ b/src/testdir/test_shortpathname.vim
@@ -2,7 +2,7 @@
" Only for use on Win32 systems!
if !has('win32')
- finish
+ throw 'Skipped, not on MS-Windows'
endif
func TestIt(file, bits, expected)
diff --git a/src/testdir/test_signals.vim b/src/testdir/test_signals.vim
index 5dec1d32b8..365958a387 100644
--- a/src/testdir/test_signals.vim
+++ b/src/testdir/test_signals.vim
@@ -1,7 +1,7 @@
" Test signal handling.
if !has('unix')
- finish
+ throw 'Skipped, not on Unix'
endif
source shared.vim
diff --git a/src/testdir/test_signs.vim b/src/testdir/test_signs.vim
index 8a6731cc41..4a23e4ba1b 100644
--- a/src/testdir/test_signs.vim
+++ b/src/testdir/test_signs.vim
@@ -1,7 +1,7 @@
" Test for signs
if !has('signs')
- finish
+ throw 'Skipped, signs feature missing'
endif
func Test_sign()
diff --git a/src/testdir/test_spell.vim b/src/testdir/test_spell.vim
index b3143c95fd..72599fdc13 100644
--- a/src/testdir/test_spell.vim
+++ b/src/testdir/test_spell.vim
@@ -1,7 +1,7 @@
" Test spell checking
if !has('spell')
- finish
+ throw 'Skipped, spell feature missing'
endif
func TearDown()
diff --git a/src/testdir/test_syntax.vim b/src/testdir/test_syntax.vim
index bdcef51147..8d9d7d35c1 100644
--- a/src/testdir/test_syntax.vim
+++ b/src/testdir/test_syntax.vim
@@ -1,7 +1,7 @@
" Test for syntax and syntax iskeyword option
if !has("syntax")
- finish
+ throw 'Skipped, syntax feature missing'
endif
source view_util.vim
diff --git a/src/testdir/test_tcl.vim b/src/testdir/test_tcl.vim
index c0eadc6372..8ccd34c6b6 100644
--- a/src/testdir/test_tcl.vim
+++ b/src/testdir/test_tcl.vim
@@ -1,7 +1,7 @@
" Tests for the Tcl interface.
if !has('tcl')
- finish
+ throw 'Skipped, tcl feature missing'
end
" Helper function as there is no builtin tcleval() function similar
diff --git a/src/testdir/test_termcodes.vim b/src/testdir/test_termcodes.vim
index 9cfc649831..9d7f6b5fa7 100644
--- a/src/testdir/test_termcodes.vim
+++ b/src/testdir/test_termcodes.vim
@@ -1,8 +1,11 @@
" Tests for decoding escape sequen