changeset 13843:619730d0d864 v8.0.1793

patch 8.0.1793: no test for "vim -g" commit https://github.com/vim/vim/commit/248be5c5de723c4e2715c574fd920b8b1a1dfebb Author: Bram Moolenaar <Bram@vim.org> Date: Sat May 5 15:47:19 2018 +0200 patch 8.0.1793: no test for "vim -g" Problem: No test for "vim -g". Solution: Add a test for "-g" and "-y".
author Christian Brabandt <cb@256bit.org>
date Sat, 05 May 2018 16:00:07 +0200
parents 3dee8c59417f
children 11e433673c49
files src/testdir/shared.vim src/testdir/test_gui.vim src/version.c
diffstat 3 files changed, 48 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/shared.vim
+++ b/src/testdir/shared.vim
@@ -227,6 +227,8 @@ func GetVimProg()
   return readfile('vimcmd')[0]
 endfunc
 
+let g:valgrind_cnt = 1
+
 " Get the command to run Vim, with -u NONE and --not-a-term arguments.
 " If there is an argument use it instead of "NONE".
 func GetVimCommand(...)
@@ -244,14 +246,26 @@ func GetVimCommand(...)
   " For Unix Makefile writes the command to use in the second line of the
   " "vimcmd" file, including environment options.
   " Other Makefiles just write the executable in the first line, so fall back
-  " to that if there is no second line.
-  let cmd = get(lines, 1, lines[0])
+  " to that if there is no second line or it is empty.
+  if len(lines) > 1 && lines[1] != ''
+    let cmd = lines[1]
+  else
+    let cmd = lines[0]
+  endif
+
   let cmd = substitute(cmd, '-u \f\+', '-u ' . name, '')
   if cmd !~ '-u '. name
     let cmd = cmd . ' -u ' . name
   endif
   let cmd .= ' --not-a-term'
   let cmd = substitute(cmd, 'VIMRUNTIME=.*VIMRUNTIME;', '', '')
+
+  " If using valgrind, make sure every run uses a different log file.
+  if cmd =~ 'valgrind.*--log-file='
+    let cmd = substitute(cmd, '--log-file=\(^\s*\)', '--log-file=\1.' . g:valgrind_cnt, '')
+    let g:valgrind_cnt += 1
+  endif
+
   return cmd
 endfunc
 
@@ -274,9 +288,6 @@ endfunc
 
 func RunVimPiped(before, after, arguments, pipecmd)
   let cmd = GetVimCommand()
-  if cmd == ''
-    return 0
-  endif
   let args = ''
   if len(a:before) > 0
     call writefile(a:before, 'Xbefore.vim')
--- a/src/testdir/test_gui.vim
+++ b/src/testdir/test_gui.vim
@@ -706,3 +706,33 @@ func Test_windowid_variable()
     call assert_equal(0, v:windowid)
   endif
 endfunc
+
+" Test "vim -g" and also the GUIEnter autocommand.
+func Test_gui_dash_g()
+  let cmd = GetVimCommand('Xscriptgui')
+  call writefile([""], "Xtestgui")
+  call writefile([
+	\ 'au GUIEnter * call writefile(["insertmode: " . &insertmode], "Xtestgui")',
+	\ 'au GUIEnter * qall',
+	\ ], 'Xscriptgui')
+  call system(cmd . ' -g')
+  call WaitForAssert({-> assert_equal(['insertmode: 0'], readfile('Xtestgui'))})
+
+  call delete('Xscriptgui')
+  call delete('Xtestgui')
+endfunc
+
+" Test "vim -7" and also the GUIEnter autocommand.
+func Test_gui_dash_y()
+  let cmd = GetVimCommand('Xscriptgui')
+  call writefile([""], "Xtestgui")
+  call writefile([
+	\ 'au GUIEnter * call writefile(["insertmode: " . &insertmode], "Xtestgui")',
+	\ 'au GUIEnter * qall',
+	\ ], 'Xscriptgui')
+  call system(cmd . ' -y')
+  call WaitForAssert({-> assert_equal(['insertmode: 1'], readfile('Xtestgui'))})
+
+  call delete('Xscriptgui')
+  call delete('Xtestgui')
+endfunc
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1793,
+/**/
     1792,
 /**/
     1791,