changeset 11223:ac36e139510f v8.0.0498

patch 8.0.0498: two autocmd tests are skipped on MS-Windows commit https://github.com/vim/vim/commit/e94260f3582cf928cc59e792b3b6ede57794a4a6 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Mar 21 15:50:12 2017 +0100 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().
author Christian Brabandt <cb@256bit.org>
date Tue, 21 Mar 2017 16:00:05 +0100
parents ce7d9528e4ca
children 4c0b53b8bfd6
files src/testdir/test_autocmd.vim src/version.c
diffstat 2 files changed, 31 insertions(+), 25 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_autocmd.vim
+++ b/src/testdir/test_autocmd.vim
@@ -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_SessLoa
       \ '      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
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    498,
+/**/
     497,
 /**/
     496,