]> granicus.if.org Git - vim/commitdiff
patch 8.1.1826: tests use hand coded feature and option checks v8.1.1826
authorBram Moolenaar <Bram@vim.org>
Wed, 7 Aug 2019 21:07:07 +0000 (23:07 +0200)
committerBram Moolenaar <Bram@vim.org>
Wed, 7 Aug 2019 21:07:07 +0000 (23:07 +0200)
Problem:    Tests use hand coded feature and option checks.
Solution:   Use the commands from check.vim in more tests.

34 files changed:
src/testdir/check.vim
src/testdir/shared.vim
src/testdir/test_autochdir.vim
src/testdir/test_autocmd.vim
src/testdir/test_balloon.vim
src/testdir/test_breakindent.vim
src/testdir/test_bufline.vim
src/testdir/test_cdo.vim
src/testdir/test_channel.vim
src/testdir/test_clientserver.vim
src/testdir/test_conceal.vim
src/testdir/test_cscope.vim
src/testdir/test_debugger.vim
src/testdir/test_filechanged.vim
src/testdir/test_fold.vim
src/testdir/test_functions.vim
src/testdir/test_gui.vim
src/testdir/test_gui_init.vim
src/testdir/test_highlight.vim
src/testdir/test_mapping.vim
src/testdir/test_match.vim
src/testdir/test_memory_usage.vim
src/testdir/test_options.vim
src/testdir/test_paste.vim
src/testdir/test_popup.vim
src/testdir/test_search.vim
src/testdir/test_signals.vim
src/testdir/test_startup.vim
src/testdir/test_syntax.vim
src/testdir/test_termcodes.vim
src/testdir/test_terminal.vim
src/testdir/test_timers.vim
src/testdir/test_vimscript.vim
src/version.c

index 5d61f0dbaf14e2a7204ed5ea2e8ff51ef7cc474a..4381c4ed8f686c1a0a154b622da6b383db3bb4fa 100644 (file)
@@ -22,6 +22,22 @@ func CheckFunction(name)
   endif
 endfunc
 
+" Command to check for the presence of an Ex command
+command -nargs=1 CheckCommand call CheckCommand(<f-args>)
+func CheckCommand(name)
+  if !exists(':' .. a:name)
+    throw 'Skipped: ' .. a:name .. ' command not supported'
+  endif
+endfunc
+
+" Command to check for the presence of a shell command
+command -nargs=1 CheckExecutable call CheckExecutable(<f-args>)
+func CheckExecutable(name)
+  if !executable(a:name)
+    throw 'Skipped: ' .. a:name .. ' program not executable'
+  endif
+endfunc
+
 " Command to check for running on MS-Windows
 command CheckMSWindows call CheckMSWindows()
 func CheckMSWindows()
@@ -30,6 +46,14 @@ func CheckMSWindows()
   endif
 endfunc
 
+" Command to check for NOT running on MS-Windows
+command CheckNotMSWindows call CheckNotMSWindows()
+func CheckNotMSWindows()
+  if has('win32')
+    throw 'Skipped: does not work on MS-Windows'
+  endif
+endfunc
+
 " Command to check for running on Unix
 command CheckUnix call CheckUnix()
 func CheckUnix()
@@ -54,3 +78,27 @@ func CheckRunVimInTerminal()
     throw 'Skipped: cannot run Vim in a terminal window'
   endif
 endfunc
+
+" Command to check that we can run the GUI
+command CheckCanRunGui call CheckCanRunGui()
+func CheckCanRunGui()
+  if !has('gui') || ($DISPLAY == "" && !has('gui_running'))
+    throw 'Skipped: cannot run start the GUI'
+  endif
+endfunc
+
+" Command to check that we are using the GUI
+command CheckGui call CheckGui()
+func CheckGui()
+  if !has('gui_running')
+    throw 'Skipped: only works in the GUI'
+  endif
+endfunc
+
+" Command to check that not currently using the GUI
+command CheckNotGui call CheckNotGui()
+func CheckNotGui()
+  if has('gui_running')
+    throw 'Skipped: only works in the terminal'
+  endif
+endfunc
index 9e4b1bb01284b111c39f080cf0eec3dcc856a1be..54a37f309f2597da7a5ce571cdb960a1c9dfa3c9 100644 (file)
@@ -323,10 +323,6 @@ func RunVimPiped(before, after, arguments, pipecmd)
   return 1
 endfunc
 
-func CanRunGui()
-  return has('gui') && ($DISPLAY != "" || has('gui_running'))
-endfunc
-
 func WorkingClipboard()
   if !has('clipboard')
     return 0
index 1f99858efbaf4fa7dd33ef11859a96b2f2ca7873..98d1af74fd87a2ef26d3dc7097381ae79a091b94 100644 (file)
@@ -1,8 +1,7 @@
 " Test 'autochdir' behavior
 
-if !exists("+autochdir")
-  throw 'Skipped: autochdir feature missing'
-endif
+source check.vim
+CheckOption autochdir
 
 func Test_set_filename()
   let cwd = getcwd()
index d762c91948c216b01ba06f3d0a3d589b75bb33e4..5bb601e2d7136fa8541e4daf41db76f4229fd460 100644 (file)
@@ -1,6 +1,7 @@
 " Tests for autocommands
 
 source shared.vim
+source check.vim
 
 func s:cleanup_buffers() abort
   for bnr in range(1, bufnr('$'))
@@ -1861,9 +1862,9 @@ func Test_TextChangedI_with_setline()
 endfunc
 
 func Test_Changed_FirstTime()
-  if !has('terminal') || has('gui_running')
-    return
-  endif
+  CheckFeature terminal
+  CheckNotGui
+
   " Prepare file for TextChanged event.
   call writefile([''], 'Xchanged.txt')
   let buf = term_start([GetVimProg(), '--clean', '-c', 'set noswapfile'], {'term_rows': 3})
index 796cb23f673798edf7e8806931fb29ad604d8d6f..e4ee855a7dc3583f935813b791a779627b1920c2 100644 (file)
@@ -1,17 +1,12 @@
 " Tests for 'balloonevalterm'.
 " A few tests only work in the terminal.
 
-if has('gui_running')
-  throw 'Skipped: only work in the terminal'
-endif
-
 source check.vim
+CheckNotGui
 CheckFeature balloon_eval_term
 
 source screendump.vim
-if !CanRunVimInTerminal()
-  throw 'Skipped: cannot make screendumps'
-endif
+CheckScreendump
 
 let s:common_script =<< trim [CODE]
   call setline(1, ["one one one", "two tXo two", "three three three"])
index 1dd5aa6b036eb53b9c738f6876bccf494b182ee6..5b8971e7ec1f560b1a2b6e321f82e48ef5bb8f41 100644 (file)
@@ -4,9 +4,8 @@
 " while the test is run, the breakindent cacheing gets in its way.
 " It helps to change the tabstop setting and force a redraw (e.g. see
 " Test_breakindent08())
-if !exists('+breakindent')
-  throw 'Skipped: breakindent option not supported'
-endif
+source check.vim
+CheckOption breakindent
 
 source view_util.vim
 
index eb46104a8931878a63dd24655bc3b1f1b3305791..a6b4694b83fb8db2079034590255246708574234 100644 (file)
@@ -2,6 +2,7 @@
 
 source shared.vim
 source screendump.vim
+source check.vim
 
 func Test_setbufline_getbufline()
   new
@@ -147,9 +148,8 @@ func Test_deletebufline()
 endfunc
 
 func Test_appendbufline_redraw()
-  if !CanRunVimInTerminal()
-    throw 'Skipped: cannot make screendumps'
-  endif
+  CheckScreendump
+
   let lines =<< trim END
     new foo
     let winnr=bufwinnr('foo')
index aa2e4f1a8c349f6d7055f1ef26b5f9a25a1ba42b..8a6b7467182f21a5f7283f1a00f7c4372a06dbe4 100644 (file)
@@ -1,8 +1,7 @@
 " Tests for the :cdo, :cfdo, :ldo and :lfdo commands
 
-if !has('quickfix')
-  throw 'Skipped: quickfix feature missing'
-endif
+source check.vim
+CheckFeature quickfix
 
 " Create the files used by the tests
 function SetUp()
index 5a4234cec96c36d22d9cea3df82cc658f0013e30..dd19894e281e37903c0c14ee39bc1c7c11be02a0 100644 (file)
@@ -855,9 +855,8 @@ func Test_pipe_from_buffer_nr()
 endfunc
 
 func Run_pipe_through_sort(all, use_buffer)
-  if !executable('sort')
-    throw 'Skipped: sort program not found'
-  endif
+  CheckExecutable sort
+
   let options = {'out_io': 'buffer', 'out_name': 'sortout'}
   if a:use_buffer
     split sortin
@@ -1014,9 +1013,8 @@ func Test_pipe_io_one_buffer()
 endfunc
 
 func Test_write_to_buffer_and_scroll()
-  if !CanRunVimInTerminal()
-    throw 'Skipped: cannot make screendumps'
-  endif
+  CheckScreendump
+
   let lines =<< trim END
       new Xscrollbuffer
       call setline(1, range(1, 200))
@@ -1536,9 +1534,8 @@ func Test_using_freed_memory()
 endfunc
 
 func Test_collapse_buffers()
-  if !executable('cat')
-    throw 'Skipped: cat program not found'
-  endif
+  CheckExecutable cat
+
   sp test_channel.vim
   let g:linecount = line('$')
   close
@@ -1550,9 +1547,8 @@ func Test_collapse_buffers()
 endfunc
 
 func Test_write_to_deleted_buffer()
-  if !executable('echo')
-    throw 'Skipped: echo program not found'
-  endif
+  CheckExecutable echo
+
   let job = job_start('echo hello', {'out_io': 'buffer', 'out_name': 'test_buffer', 'out_msg': 0})
   let bufnr = bufnr('test_buffer')
   call WaitForAssert({-> assert_equal(['hello'], getbufline(bufnr, 1, '$'))})
@@ -1585,9 +1581,7 @@ func Test_cmd_parsing()
 endfunc
 
 func Test_raw_passes_nul()
-  if !executable('cat')
-    throw 'Skipped: cat program not found'
-  endif
+  CheckExecutable cat
 
   " Test lines from the job containing NUL are stored correctly in a buffer.
   new
index 3377f86126d8cdab0a5de1cbfe3d0348f10c14be..385ff912968767306969c292b4261e52efe73eb5 100644 (file)
@@ -1,8 +1,8 @@
 " Tests for the +clientserver feature.
 
-if !has('job') || !has('clientserver')
-  throw 'Skipped: job and/or clientserver feature missing'
-endif
+source check.vim
+CheckFeature job
+CheckFeature clientserver
 
 source shared.vim
 
index f114651c2111e0a15f042f908e53677df4af760e..6b9524263d838e90e4bd281c342c6af38f002f3e 100644 (file)
@@ -1,14 +1,11 @@
 " Tests for 'conceal'.
 " Also see test88.in (should be converted to a test function here).
 
-if !has('conceal')
-  throw 'Skipped: conceal feature missing'
-endif
+source check.vim
+CheckFeature conceal
 
 source screendump.vim
-if !CanRunVimInTerminal()
-  throw 'Skipped: cannot make screendumps'
-endif
+CheckScreendump
 
 func Test_conceal_two_windows()
   let code =<< trim [CODE]
index c776be113871ed2c28c87a6869d7c9d20293486d..9d69da95ddefa55e9eb31286b766cba2eb2faf59 100644 (file)
@@ -3,10 +3,7 @@
 source check.vim
 CheckFeature cscope
 CheckFeature quickfix
-
-if !executable('cscope')
-  throw 'Skipped: cscope program missing'
-endif
+CheckExecutable cscope
 
 func CscopeSetupOrClean(setup)
     if a:setup
index 811717208e9e1a1480453a8172fa7d628ce971a1..861bd6fc08e51d3a51f33ed7c63956eba1877b34 100644 (file)
@@ -2,6 +2,7 @@
 
 source shared.vim
 source screendump.vim
+source check.vim
 
 " Run a Vim debugger command
 " If the expected output argument is supplied, then check for it.
@@ -21,9 +22,7 @@ endfunc
 
 " Debugger tests
 func Test_Debugger()
-  if !CanRunVimInTerminal()
-    throw 'Skipped: cannot run Vim in a terminal window'
-  endif
+  CheckRunVimInTerminal
 
   " Create a Vim script with some functions
   let lines =<< trim END
index a937bb8d102644ce1533ebd411e2fc41d4765feb..bfcdb76abb5793a3b2982545c3293438b7cf0399 100644 (file)
@@ -1,9 +1,10 @@
 " Tests for when a file was changed outside of Vim.
 
+source check.vim
+
 func Test_FileChangedShell_reload()
-  if !has('unix')
-    return
-  endif
+  CheckUnix
+
   augroup testreload
     au FileChangedShell Xchanged_r let g:reason = v:fcs_reason | let v:fcs_choice = 'reload'
   augroup END
@@ -91,9 +92,8 @@ func Test_FileChangedShell_reload()
 endfunc
 
 func Test_file_changed_dialog()
-  if !has('unix') || has('gui_running')
-    return
-  endif
+  CheckUnix
+  CheckNotGui
   au! FileChangedShell
 
   new Xchanged_d
index ed87007c1958da7ba7bd14670eafa6ccf3e2232a..dc5879516c24173d8fba5700402dc43845b0eef0 100644 (file)
@@ -1,5 +1,6 @@
 " Test for folding
 
+source check.vim
 source view_util.vim
 source screendump.vim
 
@@ -707,9 +708,7 @@ func Test_fold_last_line_with_pagedown()
 endfunc
 
 func Test_folds_with_rnu()
-  if !CanRunVimInTerminal()
-    throw 'Skipped: cannot make screendumps'
-  endif
+  CheckScreendump
 
   call writefile([
        \ 'set fdm=marker rnu foldcolumn=2',
index 1833113b81bd7e2b987cfcc7bacb5a6e352609bc..474e6384e8f1758c539aefcbb97350bb963388fe 100644 (file)
@@ -1,5 +1,6 @@
 " Tests for various functions.
 source shared.vim
+source check.vim
 
 " Must be done first, since the alternate buffer must be unset.
 func Test_00_bufexists()
@@ -1376,9 +1377,8 @@ endfunc
 
 " Test confirm({msg} [, {choices} [, {default} [, {type}]]])
 func Test_confirm()
-  if !has('unix') || has('gui_running')
-    return
-  endif
+  CheckUnix
+  CheckNotGui
 
   call feedkeys('o', 'L')
   let a = confirm('Press O to proceed')
index 97fd12b2b269ebeb04ccd5c3e4f2f1813a4c6644..985bbf4b7157f76cf17791ccc625ef0a9b5d3bdc 100644 (file)
@@ -1,9 +1,8 @@
 " Tests specifically for the GUI
 
 source shared.vim
-if !CanRunGui()
-  throw 'Skipped: cannot run GUI'
-endif
+source check.vim
+CheckCanRunGui
 
 source setup_gui.vim
 
index ecc8fc9efe5067fd59a84b667a212bae1d2f435c..a18825565da788d0b9c179e257dc8a44b4072e09 100644 (file)
@@ -2,9 +2,8 @@
 " startup to take effect at runtime.
 
 source shared.vim
-if !CanRunGui()
-  throw 'Skipped: cannot run GUI'
-endif
+source check.vim
+CheckCanRunGui
 
 source setup_gui.vim
 
index 2499543434c327a7ad321df481f2ac1b663c4e92..3d640bbe83d5aa9dd0f666abebc9c8d4eb0e3c56 100644 (file)
@@ -2,6 +2,7 @@
 
 source view_util.vim
 source screendump.vim
+source check.vim
 
 func Test_highlight()
   " basic test if ":highlight" doesn't crash
@@ -532,9 +533,7 @@ func Test_termguicolors()
 endfunc
 
 func Test_cursorline_after_yank()
-  if !CanRunVimInTerminal()
-    throw 'Skipped: cannot make screendumps'
-  endif
+  CheckScreendump
 
   call writefile([
        \ 'set cul rnu',
@@ -554,9 +553,7 @@ func Test_cursorline_after_yank()
 endfunc
 
 func Test_cursorline_with_visualmode()
-  if !CanRunVimInTerminal()
-    throw 'Skipped: cannot make screendumps'
-  endif
+  CheckScreendump
 
   call writefile([
        \ 'set cul',
@@ -574,9 +571,7 @@ func Test_cursorline_with_visualmode()
 endfunc
 
 func Test_wincolor()
-  if !CanRunVimInTerminal()
-    throw 'Skipped: cannot make screendumps'
-  endif
+  CheckScreendump
 
   let lines =<< trim END
        set cursorline cursorcolumn rnu
index 2c6aa2497690ce6076b6ecaae934ac1169ec3605..71548edda0cc4e83238d549c179372f180a1013f 100644 (file)
@@ -1,6 +1,7 @@
 " Tests for mappings and abbreviations
 
 source shared.vim
+source check.vim
 
 func Test_abbreviation()
   " abbreviation with 0x80 should work
@@ -399,7 +400,9 @@ func Test_motionforce_omap()
 endfunc
 
 func Test_error_in_map_expr()
-  if !has('terminal') || (has('win32') && has('gui_running'))
+  " Unlike CheckRunVimInTerminal this does work in a win32 console
+  CheckFeature terminal
+  if has('win32') && has('gui_running')
     throw 'Skipped: cannot run Vim in a terminal window'
   endif
 
index 8eada3fea5b21ec546c09f93225d4e268ad95d46..db87914f82ee20881005ef288dc5721566e1b4f4 100644 (file)
@@ -2,6 +2,7 @@
 " matchaddpos(), matcharg(), matchdelete(), and setmatches().
 
 source screendump.vim
+source check.vim
 
 function Test_match()
   highlight MyGroup1 term=bold ctermbg=red guibg=red
@@ -267,9 +268,8 @@ func OtherWindowCommon()
 endfunc
 
 func Test_matchdelete_other_window()
-  if !CanRunVimInTerminal()
-    throw 'Skipped: cannot make screendumps'
-  endif
+  CheckScreendump
+
   let buf = OtherWindowCommon()
   call term_sendkeys(buf, ":call matchdelete(mid, winid)\<CR>")
   call VerifyScreenDump(buf, 'Test_matchdelete_1', {})
index debc9c18595bc0c2d780fddb787bd84f1baa9215..d7c7036ffa260acee2e661c7daff82a4d81aa027 100644 (file)
@@ -2,10 +2,8 @@
 
 source check.vim
 CheckFeature terminal
+CheckNotGui
 
-if has('gui_running')
-  throw 'Skipped: does not work in GUI'
-endif
 if execute('version') =~# '-fsanitize=[a-z,]*\<address\>'
   " Skip tests on Travis CI ASAN build because it's difficult to estimate
   " memory usage.
index cbe00840cba430d623910c17f8052cd7c2a31cf3..5d5723cca664f4210eb2132beefd1a76fad8e1f7 100644 (file)
@@ -1,5 +1,7 @@
 " Test for options
 
+source check.vim
+
 func Test_whichwrap()
   set whichwrap=b,s
   call assert_equal('b,s', &whichwrap)
@@ -296,9 +298,8 @@ endfunc
 
 " Must be executed before other tests that set 'term'.
 func Test_000_term_option_verbose()
-  if has('gui_running')
-    return
-  endif
+  CheckNotGui
+
   let verb_cm = execute('verbose set t_cm')
   call assert_notmatch('Last set from', verb_cm)
 
@@ -310,34 +311,35 @@ func Test_000_term_option_verbose()
 endfunc
 
 func Test_set_ttytype()
-  if !has('gui_running') && has('unix')
-    " Setting 'ttytype' used to cause a double-free when exiting vim and
-    " when vim is compiled with -DEXITFREE.
-    set ttytype=ansi
-    call assert_equal('ansi', &ttytype)
-    call assert_equal(&ttytype, &term)
-    set ttytype=xterm
-    call assert_equal('xterm', &ttytype)
-    call assert_equal(&ttytype, &term)
-    " "set ttytype=" gives E522 instead of E529
-    " in travis on some builds. Why?  Catch both for now
-    try
-      set ttytype=
-      call assert_report('set ttytype= did not fail')
-    catch /E529\|E522/
-    endtry
-
-    " Some systems accept any terminal name and return dumb settings,
-    " check for failure of finding the entry and for missing 'cm' entry.
-    try
-      set ttytype=xxx
-      call assert_report('set ttytype=xxx did not fail')
-    catch /E522\|E437/
-    endtry
-
-    set ttytype&
-    call assert_equal(&ttytype, &term)
-  endif
+  CheckUnix
+  CheckNotGui
+
+  " Setting 'ttytype' used to cause a double-free when exiting vim and
+  " when vim is compiled with -DEXITFREE.
+  set ttytype=ansi
+  call assert_equal('ansi', &ttytype)
+  call assert_equal(&ttytype, &term)
+  set ttytype=xterm
+  call assert_equal('xterm', &ttytype)
+  call assert_equal(&ttytype, &term)
+  " "set ttytype=" gives E522 instead of E529
+  " in travis on some builds. Why?  Catch both for now
+  try
+    set ttytype=
+    call assert_report('set ttytype= did not fail')
+  catch /E529\|E522/
+  endtry
+
+  " Some systems accept any terminal name and return dumb settings,
+  " check for failure of finding the entry and for missing 'cm' entry.
+  try
+    set ttytype=xxx
+    call assert_report('set ttytype=xxx did not fail')
+  catch /E522\|E437/
+  endtry
+
+  set ttytype&
+  call assert_equal(&ttytype, &term)
 endfunc
 
 func Test_set_all()
index a22e8e505ee3acc495b86cd150c79cded798005f..eab4cff53770fce8af4914299558df340498f198 100644 (file)
@@ -1,12 +1,10 @@
 " Tests for bracketed paste and other forms of pasting.
 
 " Bracketed paste only works with "xterm".  Not in GUI or Windows console.
-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
+source check.vim
+CheckNotMSWindows
+CheckNotGui
+
 set term=xterm
 
 source shared.vim
index b25108c4e133b25b61f1b786dcee2685b5ef7a2f..e7b4c7246da0d801477df2005307cd8874c551c1 100644 (file)
@@ -2,6 +2,7 @@
 
 source shared.vim
 source screendump.vim
+source check.vim
 
 let g:months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
 let g:setting = ''
@@ -663,9 +664,9 @@ func Test_complete_CTRLN_startofbuffer()
 endfunc
 
 func Test_popup_and_window_resize()
-  if !has('terminal') || has('gui_running')
-    return
-  endif
+  CheckFeature terminal
+  CheckNotGui
+
   let h = winheight(0)
   if h < 15
     return
@@ -918,9 +919,9 @@ func Test_complete_o_tab()
 endfunc
 
 func Test_menu_only_exists_in_terminal()
-  if !exists(':tlmenu') || has('gui_running')
-    return
-  endif
+  CheckCommand tlmenu
+  CheckNotGui
+
   tlnoremenu  &Edit.&Paste<Tab>"+gP  <C-W>"+
   aunmenu *
   try
index a356393b063cb88740f04af16d96dbebd4b7e283..604f3c2ed9383891119d8313539151bb85b7ee4e 100644 (file)
@@ -2,6 +2,7 @@
 
 source shared.vim
 source screendump.vim
+source check.vim
 
 func Test_search_cmdline()
   if !exists('+incsearch')
@@ -575,12 +576,13 @@ endfunc
 func Test_search_cmdline8()
   " Highlighting is cleared in all windows
   " since hls applies to all windows
-  if !exists('+incsearch') || !has('terminal') || has('gui_running') || winwidth(0) < 30
-    return
-  endif
+  CheckOption incsearch
+  CheckFeature terminal
+  CheckNotGui
   if has("win32")
     throw "Skipped: Bug with sending <ESC> to terminal window not fixed yet"
   endif
+
   let h = winheight(0)
   if h < 3
     return
@@ -702,9 +704,10 @@ func Test_search_cmdline_incsearch_highlight()
 endfunc
 
 func Test_search_cmdline_incsearch_highlight_attr()
-  if !exists('+incsearch') || !has('terminal') || has('gui_running')
-    return
-  endif
+  CheckOption incsearch
+  CheckFeature terminal
+  CheckNotGui
+
   let h = winheight(0)
   if h < 3
     return
index 44732df88d3f0e29e1ef096075617b88d588cafd..cc1c3fb502e7373d9d2f7500c357408701044e66 100644 (file)
@@ -1,8 +1,7 @@
 " Test signal handling.
 
-if !has('unix')
-  throw 'Skipped: not on Unix'
-endif
+source check.vim
+CheckUnix
 
 source shared.vim
 
@@ -14,8 +13,9 @@ endfunc
 
 " Test signal WINCH (window resize signal)
 func Test_signal_WINCH()
-  if has('gui_running') || !HasSignal('WINCH')
-    return
+  CheckNotGui
+  if !HasSignal('WINCH')
+    throw 'Skipped: WINCH signal not supported'
   endif
 
   " We do not actually want to change the size of the terminal.
index 6b678fb20ba137e2b30ed44d36ab2f0b7429f37d..ceee044ca35fc656f8571e39bb02ae74c24f87d8 100644 (file)
@@ -2,6 +2,7 @@
 
 source shared.vim
 source screendump.vim
+source check.vim
 
 " Check that loading startup.vim works.
 func Test_startup_script()
@@ -262,10 +263,9 @@ endfunc
 
 " Test the -V[N] argument to set the 'verbose' option to [N]
 func Test_V_arg()
-  if has('gui_running')
-    " Can't catch the output of gvim.
-    return
-  endif
+  " Can't catch the output of gvim.
+  CheckNotGui
+
   let out = system(GetVimCommand() . ' --clean -es -X -V0 -c "set verbose?" -cq')
   call assert_equal("  verbose=0\n", out)
 
@@ -395,10 +395,9 @@ func Test_A_F_H_arg()
 endfunc
 
 func Test_invalid_args()
-  if !has('unix') || has('gui_running')
-    " can't get output of Vim.
-    return
-  endif
+  " must be able to get the output of Vim.
+  CheckUnix
+  CheckNotGui
 
   for opt in ['-Y', '--does-not-exist']
     let out = split(system(GetVimCommand() .. ' ' .. opt), "\n")
@@ -599,10 +598,9 @@ func Test_progpath()
 endfunc
 
 func Test_silent_ex_mode()
-  if !has('unix') || has('gui_running')
-    " can't get output of Vim.
-    return
-  endif
+  " must be able to get the output of Vim.
+  CheckUnix
+  CheckNotGui
 
   " This caused an ml_get error.
   let out = system(GetVimCommand() . '-u NONE -es -c''set verbose=1|h|exe "%norm\<c-y>\<c-d>"'' -c cq')
@@ -610,10 +608,9 @@ func Test_silent_ex_mode()
 endfunc
 
 func Test_default_term()
-  if !has('unix') || has('gui_running')
-    " can't get output of Vim.
-    return
-  endif
+  " must be able to get the output of Vim.
+  CheckUnix
+  CheckNotGui
 
   let save_term = $TERM
   let $TERM = 'unknownxxx'
@@ -649,10 +646,9 @@ func Test_zzz_startinsert()
 endfunc
 
 func Test_issue_3969()
-  if has('gui_running')
-    " Can't catch the output of gvim.
-    return
-  endif
+  " Can't catch the output of gvim.
+  CheckNotGui
+
   " Check that message is not truncated.
   let out = system(GetVimCommand() . ' -es -X -V1 -c "echon ''hello''" -cq')
   call assert_equal('hello', out)
index a316ce7e6a2ad86a0d0ae153e8ea0e83bf2548cc..199a13493d5979b9479cf977464905d71bd03850 100644 (file)
@@ -413,9 +413,8 @@ func Test_highlight_invalid_arg()
 endfunc
 
 func Test_bg_detection()
-  if has('gui_running')
-    return
-  endif
+  CheckNotGui
+
   " auto-detection of &bg, make sure sure it isn't set anywhere before
   " this test
   hi Normal ctermbg=0
index c6327db6ac681ea515d147a0a6837aa11f342618..475a09a2fd95dbd3f78956cc5b3856dc648528ba 100644 (file)
@@ -1,12 +1,9 @@
 " Tests for decoding escape sequences sent by the terminal.
 
 " This only works for Unix in a terminal
-if has('gui_running')
-  throw 'Skipped: does not work in the GUI'
-endif
-if !has('unix')
-  throw 'Skipped: not on Unix'
-endif
+source check.vim
+CheckNotGui
+CheckUnix
 
 source shared.vim
 
index 6a9a6aa4efed732346c59b932cc409daa02e17c7..5496b6325e86da3a9c416d8cae427ee7dc072cbe 100644 (file)
@@ -1788,9 +1788,7 @@ endfunc
 
 " must be nearly the last, we can't go back from GUI to terminal
 func Test_zz1_terminal_in_gui()
-  if !CanRunGui()
-    return
-  endif
+  CheckCanRunGui
 
   " Ignore the "failed to create input context" error.
   call test_ignore_error('E285:')
@@ -1810,9 +1808,7 @@ func Test_zz1_terminal_in_gui()
 endfunc
 
 func Test_zz2_terminal_guioptions_bang()
-  if !has('gui_running')
-    return
-  endif
+  CheckGui
   set guioptions+=!
 
   let filename = 'Xtestscript'
index 42fe4157db3cd087a66cba51ec266360d2ed5209..367e46f9479e566c5ce68a8439921690a9c5ea6b 100644 (file)
@@ -239,9 +239,9 @@ func Interrupt(timer)
 endfunc
 
 func Test_peek_and_get_char()
-  if !has('unix') && !has('gui_running')
-    return
-  endif
+  CheckUnix
+  CheckGui
+
   call timer_start(0, 'FeedAndPeek')
   let intr = timer_start(100, 'Interrupt')
   let c = getchar()
@@ -251,8 +251,7 @@ endfunc
 
 func Test_getchar_zero()
   if has('win32') && !has('gui_running')
-    " Console: no low-level input
-    return
+    throw 'Skipped: cannot get low-level input'
   endif
 
   " Measure the elapsed time to avoid a hang when it fails.
index 501a57ba1257a12593667030b8a0fafda3067119..cf2c961be0d197467d86c686834183c582c2a5f1 100644 (file)
@@ -1,6 +1,8 @@
 " Test various aspects of the Vim script language.
 " Most of this was formerly in test49.
 
+source check.vim
+
 "-------------------------------------------------------------------------------
 " Test environment                                                         {{{1
 "-------------------------------------------------------------------------------
@@ -1677,10 +1679,7 @@ func Test_funccall_garbage_collect()
 endfunc
 
 func Test_function_defined_line()
-    if has('gui_running')
-        " Can't catch the output of gvim.
-        return
-    endif
+    CheckNotGui
 
     let lines =<< trim [CODE]
     " F1
index 3bb1cfd54bd92eff0916afc8c0577a3038c1ce14..93b8a2dcc64cbe83e1c6550e876f6e4fbcb99ca3 100644 (file)
@@ -769,6 +769,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1826,
 /**/
     1825,
 /**/