Patch 9.0.0313

2 views
Skip to first unread message

Bram Moolenaar

unread,
Aug 29, 2022, 6:04:23 AM8/29/22
to vim...@googlegroups.com

Patch 9.0.0313
Problem: Using common name in tests leads to flaky tests.
Solution: Rename files and directories to be more specific.
Files: src/testdir/test_autochdir.vim, src/testdir/test_autocmd.vim,
src/testdir/test_backup.vim, src/testdir/test_buffer.vim


*** ../vim-9.0.0312/src/testdir/test_autochdir.vim 2022-03-05 16:56:30.000000000 +0000
--- src/testdir/test_autochdir.vim 2022-08-29 01:02:04.784465463 +0100
***************
*** 56,65 ****
set acd
call test_autochdir()

! call mkdir('Xfile')
let winid = win_getid()
! new Xfile/file
! call assert_match('testdir.Xfile$', getcwd())
cd ..
call assert_match('testdir$', getcwd())
call win_execute(winid, 'echo')
--- 56,65 ----
set acd
call test_autochdir()

! call mkdir('XacdDir')
let winid = win_getid()
! new XacdDir/file
! call assert_match('testdir.XacdDir$', getcwd())
cd ..
call assert_match('testdir$', getcwd())
call win_execute(winid, 'echo')
***************
*** 68,74 ****
bwipe!
set noacd
call chdir(cwd)
! call delete('Xfile', 'rf')
endfunc

func Test_verbose_pwd()
--- 68,74 ----
bwipe!
set noacd
call chdir(cwd)
! call delete('XacdDir', 'rf')
endfunc

func Test_verbose_pwd()
*** ../vim-9.0.0312/src/testdir/test_autocmd.vim 2022-08-28 19:16:11.976716179 +0100
--- src/testdir/test_autocmd.vim 2022-08-29 01:08:00.639571150 +0100
***************
*** 24,52 ****
" Test for the CursorHold autocmd
func Test_CursorHold_autocmd()
CheckRunVimInTerminal
! call writefile(['one', 'two', 'three'], 'Xfile')
let before =<< trim END
set updatetime=10
! au CursorHold * call writefile([line('.')], 'Xoutput', 'a')
END
! call writefile(before, 'Xinit')
! let buf = RunVimInTerminal('-S Xinit Xfile', {})
call term_sendkeys(buf, "G")
call term_wait(buf, 50)
call term_sendkeys(buf, "gg")
call term_wait(buf)
! call WaitForAssert({-> assert_equal(['1'], readfile('Xoutput')[-1:-1])})
call term_sendkeys(buf, "j")
call term_wait(buf)
! call WaitForAssert({-> assert_equal(['1', '2'], readfile('Xoutput')[-2:-1])})
call term_sendkeys(buf, "j")
call term_wait(buf)
! call WaitForAssert({-> assert_equal(['1', '2', '3'], readfile('Xoutput')[-3:-1])})
call StopVimInTerminal(buf)

! call delete('Xinit')
! call delete('Xoutput')
! call delete('Xfile')
endfunc

if has('timers')
--- 24,52 ----
" Test for the CursorHold autocmd
func Test_CursorHold_autocmd()
CheckRunVimInTerminal
! call writefile(['one', 'two', 'three'], 'XoneTwoThree')
let before =<< trim END
set updatetime=10
! au CursorHold * call writefile([line('.')], 'XCHoutput', 'a')
END
! call writefile(before, 'XCHinit')
! let buf = RunVimInTerminal('-S XCHinit XoneTwoThree', {})
call term_sendkeys(buf, "G")
call term_wait(buf, 50)
call term_sendkeys(buf, "gg")
call term_wait(buf)
! call WaitForAssert({-> assert_equal(['1'], readfile('XCHoutput')[-1:-1])})
call term_sendkeys(buf, "j")
call term_wait(buf)
! call WaitForAssert({-> assert_equal(['1', '2'], readfile('XCHoutput')[-2:-1])})
call term_sendkeys(buf, "j")
call term_wait(buf)
! call WaitForAssert({-> assert_equal(['1', '2', '3'], readfile('XCHoutput')[-3:-1])})
call StopVimInTerminal(buf)

! call delete('XCHinit')
! call delete('XCHoutput')
! call delete('XoneTwoThree')
endfunc

if has('timers')
***************
*** 1521,1541 ****

" Test for Bufleave autocommand that deletes the buffer we are about to edit.
func Test_BufleaveWithDelete()
! new | edit Xfile1

augroup test_bufleavewithdelete
autocmd!
! autocmd BufLeave Xfile1 bwipe Xfile2
augroup END

! call assert_fails('edit Xfile2', 'E143:')
! call assert_equal('Xfile1', bufname('%'))

! autocmd! test_bufleavewithdelete BufLeave Xfile1
augroup! test_bufleavewithdelete

new
! bwipe! Xfile1
endfunc

" Test for autocommand that changes the buffer list, when doing ":ball".
--- 1521,1541 ----

" Test for Bufleave autocommand that deletes the buffer we are about to edit.
func Test_BufleaveWithDelete()
! new | edit XbufLeave1

augroup test_bufleavewithdelete
autocmd!
! autocmd BufLeave XbufLeave1 bwipe XbufLeave2
augroup END

! call assert_fails('edit XbufLeave2', 'E143:')
! call assert_equal('XbufLeave1', bufname('%'))

! autocmd! test_bufleavewithdelete BufLeave XbufLeave1
augroup! test_bufleavewithdelete

new
! bwipe! XbufLeave1
endfunc

" Test for autocommand that changes the buffer list, when doing ":ball".
***************
*** 3007,3019 ****
func Test_BufReadPre_delfile()
augroup TestAuCmd
au!
! autocmd BufReadPre Xfile call delete('Xfile')
augroup END
! call writefile([], 'Xfile')
! call assert_fails('new Xfile', 'E200:')
! call assert_equal('Xfile', @%)
call assert_equal(1, &readonly)
! call delete('Xfile')
augroup TestAuCmd
au!
augroup END
--- 3007,3019 ----
func Test_BufReadPre_delfile()
augroup TestAuCmd
au!
! autocmd BufReadPre XbufreadPre call delete('XbufreadPre')
augroup END
! call writefile([], 'XbufreadPre')
! call assert_fails('new XbufreadPre', 'E200:')
! call assert_equal('XbufreadPre', @%)
call assert_equal(1, &readonly)
! call delete('XbufreadPre')
augroup TestAuCmd
au!
augroup END
***************
*** 3024,3036 ****
func Test_BufReadPre_changebuf()
augroup TestAuCmd
au!
! autocmd BufReadPre Xfile edit Xsomeotherfile
augroup END
! call writefile([], 'Xfile')
! call assert_fails('new Xfile', 'E201:')
call assert_equal('Xsomeotherfile', @%)
call assert_equal(1, &readonly)
! call delete('Xfile')
augroup TestAuCmd
au!
augroup END
--- 3024,3036 ----
func Test_BufReadPre_changebuf()
augroup TestAuCmd
au!
! autocmd BufReadPre Xchangebuf edit Xsomeotherfile
augroup END
! call writefile([], 'Xchangebuf')
! call assert_fails('new Xchangebuf', 'E201:')
call assert_equal('Xsomeotherfile', @%)
call assert_equal(1, &readonly)
! call delete('Xchangebuf')
augroup TestAuCmd
au!
augroup END
*** ../vim-9.0.0312/src/testdir/test_backup.vim 2020-08-01 14:59:05.000000000 +0100
--- src/testdir/test_backup.vim 2022-08-29 01:08:47.131466815 +0100
***************
*** 78,88 ****
" Test for using a non-existing directory as a backup directory
func Test_non_existing_backupdir()
set backupdir=./non_existing_dir backupskip=
! call writefile(['line1'], 'Xfile')
! new Xfile
call assert_fails('write', 'E510:')
set backupdir&vim backupskip&vim
! call delete('Xfile')
endfunc

" vim: shiftwidth=2 sts=2 expandtab
--- 78,88 ----
" Test for using a non-existing directory as a backup directory
func Test_non_existing_backupdir()
set backupdir=./non_existing_dir backupskip=
! call writefile(['line1'], 'Xbackupdir')
! new Xbackupdir
call assert_fails('write', 'E510:')
set backupdir&vim backupskip&vim
! call delete('Xbackupdir')
endfunc

" vim: shiftwidth=2 sts=2 expandtab
*** ../vim-9.0.0312/src/testdir/test_buffer.vim 2022-05-15 14:45:19.000000000 +0100
--- src/testdir/test_buffer.vim 2022-08-29 11:00:53.084120442 +0100
***************
*** 76,89 ****
%bwipe!
call assert_fails('buffer 1000', 'E86:')

! call writefile(['foo1', 'foo2', 'foo3', 'foo4'], 'Xfile1')
! call writefile(['bar1', 'bar2', 'bar3', 'bar4'], 'Xfile2')
! call writefile(['baz1', 'baz2', 'baz3', 'baz4'], 'Xfile3')
! edit Xfile1
let b1 = bufnr()
! edit Xfile2
let b2 = bufnr()
! edit +/baz4 Xfile3
let b3 = bufnr()

call assert_fails('buffer ' .. b1 .. ' abc', 'E488:')
--- 76,89 ----
%bwipe!
call assert_fails('buffer 1000', 'E86:')

! call writefile(['foo1', 'foo2', 'foo3', 'foo4'], 'Xbrowse1')
! call writefile(['bar1', 'bar2', 'bar3', 'bar4'], 'Xbrowse2')
! call writefile(['baz1', 'baz2', 'baz3', 'baz4'], 'Xbrowse3')
! edit Xbrowse1
let b1 = bufnr()
! edit Xbrowse2
let b2 = bufnr()
! edit +/baz4 Xbrowse3
let b3 = bufnr()

call assert_fails('buffer ' .. b1 .. ' abc', 'E488:')
***************
*** 127,135 ****

call assert_fails('sandbox bnext', 'E48:')

! call delete('Xfile1')
! call delete('Xfile2')
! call delete('Xfile3')
%bwipe!
endfunc

--- 127,135 ----

call assert_fails('sandbox bnext', 'E48:')

! call delete('Xbrowse1')
! call delete('Xbrowse2')
! call delete('Xbrowse3')
%bwipe!
endfunc

***************
*** 200,238 ****
" Test for quitting the 'swapfile exists' dialog with the split buffer
" command.
func Test_buffer_sbuf_cleanup()
! call writefile([], 'Xfile')
" first open the file in a buffer
! new Xfile
let bnr = bufnr()
close
" create the swap file
! call writefile([], '.Xfile.swp')
" Remove the catch-all that runtest.vim adds
au! SwapExists
augroup BufTest
au!
! autocmd SwapExists Xfile let v:swapchoice='q'
augroup END
exe 'sbuf ' . bnr
call assert_equal(1, winnr('$'))
! call assert_equal(0, getbufinfo('Xfile')[0].loaded)

" test for :sball
sball
call assert_equal(1, winnr('$'))
! call assert_equal(0, getbufinfo('Xfile')[0].loaded)

%bw!
set shortmess+=F
let v:statusmsg = ''
! edit Xfile
call assert_equal('', v:statusmsg)
call assert_equal(1, winnr('$'))
! call assert_equal(0, getbufinfo('Xfile')[0].loaded)
set shortmess&

! call delete('Xfile')
! call delete('.Xfile.swp')
augroup BufTest
au!
augroup END
--- 200,238 ----
" Test for quitting the 'swapfile exists' dialog with the split buffer
" command.
func Test_buffer_sbuf_cleanup()
! call writefile([], 'XsplitCleanup')
" first open the file in a buffer
! new XsplitCleanup
let bnr = bufnr()
close
" create the swap file
! call writefile([], '.XsplitCleanup.swp')
" Remove the catch-all that runtest.vim adds
au! SwapExists
augroup BufTest
au!
! autocmd SwapExists XsplitCleanup let v:swapchoice='q'
augroup END
exe 'sbuf ' . bnr
call assert_equal(1, winnr('$'))
! call assert_equal(0, getbufinfo('XsplitCleanup')[0].loaded)

" test for :sball
sball
call assert_equal(1, winnr('$'))
! call assert_equal(0, getbufinfo('XsplitCleanup')[0].loaded)

%bw!
set shortmess+=F
let v:statusmsg = ''
! edit XsplitCleanup
call assert_equal('', v:statusmsg)
call assert_equal(1, winnr('$'))
! call assert_equal(0, getbufinfo('XsplitCleanup')[0].loaded)
set shortmess&

! call delete('XsplitCleanup')
! call delete('.XsplitCleanup.swp')
augroup BufTest
au!
augroup END
***************
*** 261,295 ****
CheckUnix
CheckNotGui
CheckFeature dialog_con
! new Xfile
enew
call setline(1, 'test')
! call assert_fails('b Xfile', 'E37:')
call feedkeys('c', 'L')
! call assert_fails('confirm b Xfile', 'E37:')
call assert_equal(1, &modified)
call assert_equal('', @%)
call feedkeys('y', 'L')
! call assert_fails('confirm b Xfile', ['', 'E37:'])
call assert_equal(1, &modified)
call assert_equal('', @%)
call feedkeys('n', 'L')
! confirm b Xfile
! call assert_equal('Xfile', @%)
close!
endfunc

" Test for splitting buffer with 'switchbuf'
func Test_buffer_switchbuf()
! new Xfile
wincmd w
set switchbuf=useopen
! sbuf Xfile
call assert_equal(1, winnr())
call assert_equal(2, winnr('$'))
set switchbuf=usetab
tabnew
! sbuf Xfile
call assert_equal(1, tabpagenr())
call assert_equal(2, tabpagenr('$'))
set switchbuf&
--- 261,295 ----
CheckUnix
CheckNotGui
CheckFeature dialog_con
! new XgotoConf
enew
call setline(1, 'test')
! call assert_fails('b XgotoConf', 'E37:')
call feedkeys('c', 'L')
! call assert_fails('confirm b XgotoConf', 'E37:')
call assert_equal(1, &modified)
call assert_equal('', @%)
call feedkeys('y', 'L')
! call assert_fails('confirm b XgotoConf', ['', 'E37:'])
call assert_equal(1, &modified)
call assert_equal('', @%)
call feedkeys('n', 'L')
! confirm b XgotoConf
! call assert_equal('XgotoConf', @%)
close!
endfunc

" Test for splitting buffer with 'switchbuf'
func Test_buffer_switchbuf()
! new Xswitchbuf
wincmd w
set switchbuf=useopen
! sbuf Xswitchbuf
call assert_equal(1, winnr())
call assert_equal(2, winnr('$'))
set switchbuf=usetab
tabnew
! sbuf Xswitchbuf
call assert_equal(1, tabpagenr())
call assert_equal(2, tabpagenr('$'))
set switchbuf&
***************
*** 301,311 ****
%bw!
augroup BufAdd_Wipe
au!
! autocmd BufAdd Xfile %bw!
augroup END
! edit Xfile
call assert_equal('', @%)
! call assert_equal(0, bufexists('Xfile'))
augroup BufAdd_Wipe
au!
augroup END
--- 301,311 ----
%bw!
augroup BufAdd_Wipe
au!
! autocmd BufAdd Xbwipe %bw!
augroup END
! edit Xbwipe
call assert_equal('', @%)
! call assert_equal(0, bufexists('Xbwipe'))
augroup BufAdd_Wipe
au!
augroup END
***************
*** 325,364 ****
" Test for using CTRL-^ to edit the alternative file keeping the cursor
" position with 'nostartofline'. Also test using the 'buf' command.
func Test_buffer_edit_altfile()
! call writefile(repeat(['one two'], 50), 'Xfile1')
! call writefile(repeat(['five six'], 50), 'Xfile2')
set nosol
! edit Xfile1
call cursor(25, 5)
! edit Xfile2
call cursor(30, 4)
exe "normal \<C-^>"
call assert_equal([0, 25, 5, 0], getpos('.'))
exe "normal \<C-^>"
call assert_equal([0, 30, 4, 0], getpos('.'))
! buf Xfile1
call assert_equal([0, 25, 5, 0], getpos('.'))
! buf Xfile2
call assert_equal([0, 30, 4, 0], getpos('.'))
set sol&
! call delete('Xfile1')
! call delete('Xfile2')
endfunc

" Test for running the :sball command with a maximum window count and a
" modified buffer
func Test_sball_with_count()
%bw!
! edit Xfile1
call setline(1, ['abc'])
! new Xfile2
! new Xfile3
! new Xfile4
2sball
! call assert_equal(bufnr('Xfile4'), winbufnr(1))
! call assert_equal(bufnr('Xfile1'), winbufnr(2))
! call assert_equal(0, getbufinfo('Xfile2')[0].loaded)
! call assert_equal(0, getbufinfo('Xfile3')[0].loaded)
%bw!
endfunc

--- 325,364 ----
" Test for using CTRL-^ to edit the alternative file keeping the cursor
" position with 'nostartofline'. Also test using the 'buf' command.
func Test_buffer_edit_altfile()
! call writefile(repeat(['one two'], 50), 'Xaltfile1')
! call writefile(repeat(['five six'], 50), 'Xaltfile2')
set nosol
! edit Xaltfile1
call cursor(25, 5)
! edit Xaltfile2
call cursor(30, 4)
exe "normal \<C-^>"
call assert_equal([0, 25, 5, 0], getpos('.'))
exe "normal \<C-^>"
call assert_equal([0, 30, 4, 0], getpos('.'))
! buf Xaltfile1
call assert_equal([0, 25, 5, 0], getpos('.'))
! buf Xaltfile2
call assert_equal([0, 30, 4, 0], getpos('.'))
set sol&
! call delete('Xaltfile1')
! call delete('Xaltfile2')
endfunc

" Test for running the :sball command with a maximum window count and a
" modified buffer
func Test_sball_with_count()
%bw!
! edit Xcountfile1
call setline(1, ['abc'])
! new Xcountfile2
! new Xcountfile3
! new Xcountfile4
2sball
! call assert_equal(bufnr('Xcountfile4'), winbufnr(1))
! call assert_equal(bufnr('Xcountfile1'), winbufnr(2))
! call assert_equal(0, getbufinfo('Xcountfile2')[0].loaded)
! call assert_equal(0, getbufinfo('Xcountfile3')[0].loaded)
%bw!
endfunc

***************
*** 451,468 ****
func Test_buflist_alloc_failure()
%bw!

! edit Xfile1
call test_alloc_fail(GetAllocId('newbuf_bvars'), 0, 0)
! call assert_fails('edit Xfile2', 'E342:')

" test for bufadd()
call test_alloc_fail(GetAllocId('newbuf_bvars'), 0, 0)
call assert_fails('call bufadd("Xbuffer")', 'E342:')

" test for setting the arglist
! edit Xfile2
call test_alloc_fail(GetAllocId('newbuf_bvars'), 0, 0)
! call assert_fails('next Xfile3', 'E342:')

" test for setting the alternate buffer name when writing a file
call test_alloc_fail(GetAllocId('newbuf_bvars'), 0, 0)
--- 451,468 ----
func Test_buflist_alloc_failure()
%bw!

! edit XallocFail1
call test_alloc_fail(GetAllocId('newbuf_bvars'), 0, 0)
! call assert_fails('edit XallocFail2', 'E342:')

" test for bufadd()
call test_alloc_fail(GetAllocId('newbuf_bvars'), 0, 0)
call assert_fails('call bufadd("Xbuffer")', 'E342:')

" test for setting the arglist
! edit XallocFail2
call test_alloc_fail(GetAllocId('newbuf_bvars'), 0, 0)
! call assert_fails('next XallocFail3', 'E342:')

" test for setting the alternate buffer name when writing a file
call test_alloc_fail(GetAllocId('newbuf_bvars'), 0, 0)
***************
*** 489,505 ****
endif

" test for loading a new buffer after wiping out all the buffers
! edit Xfile4
call test_alloc_fail(GetAllocId('newbuf_bvars'), 0, 0)
call assert_fails('%bw!', 'E342:')

" test for :checktime loading the buffer
! call writefile(['one'], 'Xfile5')
if has('unix')
! edit Xfile5
" sleep for some time to make sure the timestamp is different
sleep 200m
! call writefile(['two'], 'Xfile5')
set autoread
call test_alloc_fail(GetAllocId('newbuf_bvars'), 0, 0)
call assert_fails('checktime', 'E342:')
--- 489,505 ----
endif

" test for loading a new buffer after wiping out all the buffers
! edit XallocFail4
call test_alloc_fail(GetAllocId('newbuf_bvars'), 0, 0)
call assert_fails('%bw!', 'E342:')

" test for :checktime loading the buffer
! call writefile(['one'], 'XallocFail5')
if has('unix')
! edit XallocFail5
" sleep for some time to make sure the timestamp is different
sleep 200m
! call writefile(['two'], 'XallocFail5')
set autoread
call test_alloc_fail(GetAllocId('newbuf_bvars'), 0, 0)
call assert_fails('checktime', 'E342:')
***************
*** 509,520 ****

" test for :vimgrep loading a dummy buffer
call test_alloc_fail(GetAllocId('newbuf_bvars'), 0, 0)
! call assert_fails('vimgrep two Xfile5', 'E342:')
! call delete('Xfile5')

" test for quickfix command loading a buffer
call test_alloc_fail(GetAllocId('newbuf_bvars'), 0, 0)
! call assert_fails('cexpr "Xfile6:10:Line10"', 'E342:')
endfunc

" vim: shiftwidth=2 sts=2 expandtab
--- 509,520 ----

" test for :vimgrep loading a dummy buffer
call test_alloc_fail(GetAllocId('newbuf_bvars'), 0, 0)
! call assert_fails('vimgrep two XallocFail5', 'E342:')
! call delete('XallocFail5')

" test for quickfix command loading a buffer
call test_alloc_fail(GetAllocId('newbuf_bvars'), 0, 0)
! call assert_fails('cexpr "XallocFail6:10:Line10"', 'E342:')
endfunc

" vim: shiftwidth=2 sts=2 expandtab
*** ../vim-9.0.0312/src/version.c 2022-08-29 00:08:35.418233993 +0100
--- src/version.c 2022-08-29 11:02:23.963482810 +0100
***************
*** 709,710 ****
--- 709,712 ----
{ /* Add new patch number below this line */
+ /**/
+ 313,
/**/

--
FATAL ERROR! SYSTEM HALTED! - Press any key to continue doing nothing.

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
Reply all
Reply to author
Forward
0 new messages