Skip to content

Commit

Permalink
patch 8.0.1179: Test_popup_and_window_resize() does not always pass
Browse files Browse the repository at this point in the history
Problem:    Test_popup_and_window_resize() does not always pass.
Solution:   Do not use $VIMPROG, pass the Vim executable in the vimcmd file.
            (Ozaki Kiichi, closes vim#2186)
  • Loading branch information
brammool committed Oct 7, 2017
1 parent 73f4439 commit 6318205
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 8 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ src/pathdef.c
src/Obj*/pathdef.c
gvimext.dll
gvimext.lib
gvim.lib
runtime/doc/uganda.nsis.txt

# Borland C++
Expand Down
11 changes: 7 additions & 4 deletions src/testdir/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -126,18 +126,21 @@ newtests: newtestssilent
newtestssilent: $(NEW_TESTS)


.vim.res:
@echo "$(RUN_VIMTEST)" > vimcmd
.vim.res: writevimcmd
@echo "$(VIMPROG)" > vimcmd
@echo "$(RUN_VIMTEST)" >> vimcmd
$(RUN_VIMTEST) $(NO_INITS) -S runtest.vim $*.vim
@rm vimcmd

test_gui.res: test_gui.vim
@echo "$(RUN_GVIMTEST)" > vimcmd
@echo "$(VIMPROG)" > vimcmd
@echo "$(RUN_GVIMTEST)" >> vimcmd
$(RUN_VIMTEST) -u NONE $(NO_INITS) -S runtest.vim $<
@rm vimcmd

test_gui_init.res: test_gui_init.vim
@echo "$(RUN_GVIMTEST_WITH_GVIMRC)" > vimcmd
@echo "$(VIMPROG)" > vimcmd
@echo "$(RUN_GVIMTEST_WITH_GVIMRC)" >> vimcmd
$(RUN_VIMTEST) -u gui_preinit.vim -U gui_init.vim $(NO_PLUGINS) -S runtest.vim $<
@rm vimcmd

Expand Down
16 changes: 15 additions & 1 deletion src/testdir/shared.vim
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,15 @@ func s:feedkeys(timer)
call feedkeys('x', 'nt')
endfunc

" Get $VIMPROG to run Vim executable.
" The Makefile writes it as the first line in the "vimcmd" file.
func GetVimProg()
if !filereadable('vimcmd')
return ''
endif
return readfile('vimcmd')[0]
endfunc

" Get the command to run Vim, with -u NONE and --not-a-term arguments.
" If there is an argument use it instead of "NONE".
" Returns an empty string on error.
Expand All @@ -182,7 +191,12 @@ func GetVimCommand(...)
else
let name = a:1
endif
let cmd = readfile('vimcmd')[0]
" 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 lines = readfile('vimcmd')
let cmd = get(lines, 1, lines[0])
let cmd = substitute(cmd, '-u \f\+', '-u ' . name, '')
if cmd !~ '-u '. name
let cmd = cmd . ' -u ' . name
Expand Down
6 changes: 3 additions & 3 deletions src/testdir/test_popup.vim
Original file line number Diff line number Diff line change
Expand Up @@ -643,10 +643,10 @@ func Test_popup_and_window_resize()
if h < 15
return
endif
let g:buf = term_start([$VIMPROG, '--clean', '-c', 'set noswapfile'], {'term_rows': h / 3})
call term_sendkeys(g:buf, (h / 3 - 1)."o\<esc>G")
call term_sendkeys(g:buf, "i\<c-x>")
let g:buf = term_start([GetVimProg(), '--clean', '-c', 'set noswapfile'], {'term_rows': h / 3})
call term_sendkeys(g:buf, (h / 3 - 1)."o\<esc>")
call term_wait(g:buf, 200)
call term_sendkeys(g:buf, "Gi\<c-x>")
call term_sendkeys(g:buf, "\<c-v>")
call term_wait(g:buf, 100)
" popup first entry "!" must be at the top
Expand Down
2 changes: 2 additions & 0 deletions src/version.c
Original file line number Diff line number Diff line change
Expand Up @@ -761,6 +761,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1179,
/**/
1178,
/**/
Expand Down

0 comments on commit 6318205

Please sign in to comment.