0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -04:00

patch 8.0.0498: two autocmd tests are skipped on MS-Windows

Problem:    Two autocmd tests are skipped on MS-Windows.
Solution:   Make the test pass on MS-Windows. Write the messages in a file
            instead of getting the output of system().
This commit is contained in:
Bram Moolenaar
2017-03-21 15:50:12 +01:00
parent 3ff2f09525
commit e94260f358
2 changed files with 31 additions and 25 deletions

View File

@@ -340,7 +340,10 @@ func Test_BufEnter()
call mkdir('Xdir')
split Xdir
call assert_equal('+++', g:val)
bwipe!
" On MS-Windows we can't edit the directory, make sure we wipe the right
" buffer.
bwipe! Xdir
call delete('Xdir', 'd')
au! BufEnter
@@ -349,40 +352,37 @@ endfunc
" Closing a window might cause an endless loop
" E814 for older Vims
function Test_autocmd_bufwipe_in_SessLoadPost()
if has('win32')
throw 'Skipped: test hangs on MS-Windows'
endif
tabnew
set noswapfile
let g:bufnr=bufnr('%')
mksession!
let content=['set nocp noswapfile',
let content = ['set nocp noswapfile',
\ 'let v:swapchoice="e"',
\ 'augroup test_autocmd_sessionload',
\ 'autocmd!',
\ 'autocmd SessionLoadPost * 4bw!',
\ 'augroup END'
\ 'augroup END',
\ '',
\ 'func WriteErrors()',
\ ' call writefile([execute("messages")], "Xerrors")',
\ 'endfunc',
\ 'au VimLeave * call WriteErrors()',
\ ]
call writefile(content, 'Xvimrc')
let a=system(v:progpath. ' -u Xvimrc --noplugins -S Session.vim')
call assert_match('E814', a)
call system(v:progpath. ' -u Xvimrc --not-a-term --noplugins -S Session.vim -c cq')
let errors = join(readfile('Xerrors'))
call assert_match('E814', errors)
unlet! g:bufnr
set swapfile
for file in ['Session.vim', 'Xvimrc']
for file in ['Session.vim', 'Xvimrc', 'Xerrors']
call delete(file)
endfor
endfunc
" SEGV occurs in older versions.
function Test_autocmd_bufwipe_in_SessLoadPost2()
if has('win32')
throw 'Skipped: test hangs on MS-Windows'
endif
tabnew
set noswapfile
let g:bufnr=bufnr('%')
mksession!
let content = ['set nocp noswapfile',
@@ -397,20 +397,24 @@ function Test_autocmd_bufwipe_in_SessLoadPost2()
\ ' exec ''bwipeout '' . b',
\ ' endif',
\ ' endfor',
\ 'call append("1", "SessionLoadPost DONE")',
\ ' echomsg "SessionLoadPost DONE"',
\ 'endfunction',
\ 'au SessionLoadPost * call DeleteInactiveBufs()']
\ 'au SessionLoadPost * call DeleteInactiveBufs()',
\ '',
\ 'func WriteErrors()',
\ ' call writefile([execute("messages")], "Xerrors")',
\ 'endfunc',
\ 'au VimLeave * call WriteErrors()',
\ ]
call writefile(content, 'Xvimrc')
let a=system(v:progpath. ' -u Xvimrc --noplugins -S Session.vim')
" this probably only matches on unix
if has("unix")
call assert_notmatch('Caught deadly signal SEGV', a)
endif
call assert_match('SessionLoadPost DONE', a)
call system(v:progpath. ' -u Xvimrc --not-a-term --noplugins -S Session.vim -c cq')
let errors = join(readfile('Xerrors'))
" This probably only ever matches on unix.
call assert_notmatch('Caught deadly signal SEGV', errors)
call assert_match('SessionLoadPost DONE', errors)
unlet! g:bufnr
set swapfile
for file in ['Session.vim', 'Xvimrc']
for file in ['Session.vim', 'Xvimrc', 'Xerrors']
call delete(file)
endfor
endfunc

View File

@@ -764,6 +764,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
498,
/**/
497,
/**/