1
0
forked from aniani/vim

patch 8.0.1224: still interference between test functions

Problem:    Still interference between test functions.
Solution:   Clear autocommands. Wipe all buffers.  Fix tests that depend on a
            specific start context.
This commit is contained in:
Bram Moolenaar
2017-10-27 00:55:04 +02:00
parent 9ad89c6c4f
commit cf1ba35fc2
12 changed files with 32 additions and 29 deletions

View File

@@ -99,6 +99,10 @@ func RunTheTest(test)
" Clear any overrides. " Clear any overrides.
call test_override('ALL', 0) call test_override('ALL', 0)
" Some tests wipe out buffers. To be consistent, always wipe out all
" buffers.
%bwipe!
if exists("*SetUp") if exists("*SetUp")
try try
call SetUp() call SetUp()
@@ -133,9 +137,12 @@ func RunTheTest(test)
endtry endtry
endif endif
" Clear any autocommands
au!
" Close any extra tab pages and windows and make the current one not modified. " Close any extra tab pages and windows and make the current one not modified.
while tabpagenr('$') > 1 while tabpagenr('$') > 1
bwipe! quit!
endwhile endwhile
while 1 while 1
@@ -150,15 +157,6 @@ func RunTheTest(test)
break break
endif endif
endwhile endwhile
" Wipe out all buffers except the current one, then wipe the current one.
for nr in range(1, bufnr('$'))
if nr != bufnr('%') && bufexists(nr)
exe nr . 'bwipe!'
endif
endfor
set nomodified
bwipe
endfunc endfunc
func AfterTheTest() func AfterTheTest()

View File

@@ -253,10 +253,7 @@ func Test_argedit()
call assert_equal(['a', 'b', 'a'], argv()) call assert_equal(['a', 'b', 'a'], argv())
call assert_equal('a', expand('%:t')) call assert_equal('a', expand('%:t'))
" When file name case is ignored, an existing buffer with only case " When file name case is ignored, an existing buffer with only case
" difference is re-used. Make sure they don't exist so the case is " difference is re-used.
" preserved.
bwipe! c
bwipe! d
argedit C D argedit C D
call assert_equal('C', expand('%:t')) call assert_equal('C', expand('%:t'))
call assert_equal(['a', 'b', 'a', 'C', 'D'], argv()) call assert_equal(['a', 'b', 'a', 'C', 'D'], argv())

View File

@@ -5,6 +5,7 @@ if !exists("+autochdir")
endif endif
func Test_set_filename() func Test_set_filename()
let cwd = getcwd()
call test_autochdir() call test_autochdir()
set acd set acd
new new
@@ -13,5 +14,6 @@ func Test_set_filename()
call assert_equal("samples", substitute(getcwd(), '.*/\(\k*\)', '\1', '')) call assert_equal("samples", substitute(getcwd(), '.*/\(\k*\)', '\1', ''))
bwipe! bwipe!
set noacd set noacd
exe 'cd ' . cwd
call delete('samples/Xtest') call delete('samples/Xtest')
endfunc endfunc

View File

@@ -254,16 +254,15 @@ func Test_BufReadCmdHelp()
au BufReadCmd * e +h au BufReadCmd * e +h
help help
helpclose
au! BufReadCmd au! BufReadCmd
endfunc endfunc
func Test_BufReadCmdHelpJump() func Test_BufReadCmdHelpJump()
" This used to cause access to free memory " This used to cause access to free memory
au BufReadCmd * e +h{ au BufReadCmd * e +h{
help " } to fix highlighting
call assert_fails('help', 'E434:')
helpclose
au! BufReadCmd au! BufReadCmd
endfunc endfunc

View File

@@ -1,7 +1,6 @@
" Tests for the getbufinfo(), getwininfo() and gettabinfo() functions " Tests for the getbufinfo(), getwininfo() and gettabinfo() functions
function Test_getbufwintabinfo() function Test_getbufwintabinfo()
1,$bwipeout
edit Xtestfile1 edit Xtestfile1
edit Xtestfile2 edit Xtestfile2
let buflist = getbufinfo() let buflist = getbufinfo()

View File

@@ -1,6 +1,7 @@
" Test for user command counts. " Test for user command counts.
func Test_command_count_0() func Test_command_count_0()
let bufnr = bufnr('%')
set hidden set hidden
set noswapfile set noswapfile
@@ -15,17 +16,17 @@ func Test_command_count_0()
command! -range=% -addr=buffers RangeBuffersAll :let lines = [<line1>, <line2>] command! -range=% -addr=buffers RangeBuffersAll :let lines = [<line1>, <line2>]
.,$RangeLoadedBuffers .,$RangeLoadedBuffers
call assert_equal([1, 1], lines) call assert_equal([bufnr, bufnr], lines)
%RangeLoadedBuffers %RangeLoadedBuffers
call assert_equal([1, 1], lines) call assert_equal([bufnr, bufnr], lines)
RangeLoadedBuffersAll RangeLoadedBuffersAll
call assert_equal([1, 1], lines) call assert_equal([bufnr, bufnr], lines)
.,$RangeBuffers .,$RangeBuffers
call assert_equal([1, lastbuf], lines) call assert_equal([bufnr, lastbuf], lines)
%RangeBuffers %RangeBuffers
call assert_equal([1, lastbuf], lines) call assert_equal([bufnr, lastbuf], lines)
RangeBuffersAll RangeBuffersAll
call assert_equal([1, lastbuf], lines) call assert_equal([bufnr, lastbuf], lines)
delcommand RangeLoadedBuffers delcommand RangeLoadedBuffers
delcommand RangeLoadedBuffersAll delcommand RangeLoadedBuffersAll
@@ -138,6 +139,7 @@ func Test_command_count_2()
endfunc endfunc
func Test_command_count_3() func Test_command_count_3()
let bufnr = bufnr('%')
se nohidden se nohidden
e aaa e aaa
let buf_aaa = bufnr('%') let buf_aaa = bufnr('%')
@@ -145,7 +147,7 @@ func Test_command_count_3()
let buf_bbb = bufnr('%') let buf_bbb = bufnr('%')
e ccc e ccc
let buf_ccc = bufnr('%') let buf_ccc = bufnr('%')
buf 1 exe bufnr . 'buf'
call assert_equal([1, 1, 1], [buflisted(buf_aaa), buflisted(buf_bbb), buflisted(buf_ccc)]) call assert_equal([1, 1, 1], [buflisted(buf_aaa), buflisted(buf_bbb), buflisted(buf_ccc)])
exe buf_bbb . "," . buf_ccc . "bdelete" exe buf_bbb . "," . buf_ccc . "bdelete"
call assert_equal([1, 0, 0], [buflisted(buf_aaa), buflisted(buf_bbb), buflisted(buf_ccc)]) call assert_equal([1, 0, 0], [buflisted(buf_aaa), buflisted(buf_bbb), buflisted(buf_ccc)])
@@ -155,7 +157,7 @@ endfunc
func Test_command_count_4() func Test_command_count_4()
%argd %argd
let bufnr = bufnr('$') + 1 let bufnr = bufnr('$')
arga aa bb cc dd ee ff arga aa bb cc dd ee ff
3argu 3argu
let args = [] let args = []
@@ -171,6 +173,8 @@ func Test_command_count_4()
only! only!
exe bufnr . 'buf' exe bufnr . 'buf'
bnext
let bufnr = bufnr('%')
let buffers = [] let buffers = []
.,$-bufdo call add(buffers, bufnr('%')) .,$-bufdo call add(buffers, bufnr('%'))
call assert_equal([bufnr, bufnr + 1, bufnr + 2, bufnr + 3, bufnr + 4], buffers) call assert_equal([bufnr, bufnr + 1, bufnr + 2, bufnr + 3, bufnr + 4], buffers)

View File

@@ -50,6 +50,7 @@ endfunc
" We don't check much of the contents. " We don't check much of the contents.
func Test_with_syntax() func Test_with_syntax()
if has('postscript') if has('postscript')
edit test_hardcopy.vim
set printoptions=syntax:y set printoptions=syntax:y
syn on syn on
hardcopy > Xhardcopy hardcopy > Xhardcopy

View File

@@ -1,6 +1,7 @@
" Test for insert expansion " Test for insert expansion
func Test_ins_complete() func Test_ins_complete()
edit test_ins_complete.vim
set ff=unix set ff=unix
call writefile(["test11\t36Gepeto\t/Tag/", call writefile(["test11\t36Gepeto\t/Tag/",
\ "asd\ttest11file\t36G", \ "asd\ttest11file\t36G",

View File

@@ -2,7 +2,7 @@
func SetUp() func SetUp()
let s:topdir = expand('%:h') . '/Xdir' let s:topdir = getcwd() . '/Xdir'
exe 'set packpath=' . s:topdir exe 'set packpath=' . s:topdir
let s:plugdir = s:topdir . '/pack/mine/opt/mytest' let s:plugdir = s:topdir . '/pack/mine/opt/mytest'
endfunc endfunc

View File

@@ -151,7 +151,7 @@ endfunc
func XageTests(cchar) func XageTests(cchar)
call s:setup_commands(a:cchar) call s:setup_commands(a:cchar)
let list = [{'bufnr': 1, 'lnum': 1}] let list = [{'bufnr': bufnr('%'), 'lnum': 1}]
call g:Xsetlist(list) call g:Xsetlist(list)
" Jumping to a non existent list should return error " Jumping to a non existent list should return error

View File

@@ -182,7 +182,7 @@ func Test_sign_invalid_commands()
call assert_fails('sign define Sign1 xxx', 'E475:') call assert_fails('sign define Sign1 xxx', 'E475:')
call assert_fails('sign undefine', 'E156:') call assert_fails('sign undefine', 'E156:')
call assert_fails('sign list xxx', 'E155:') call assert_fails('sign list xxx', 'E155:')
call assert_fails('sign place 1 buffer=', 'E158:') call assert_fails('sign place 1 buffer=999', 'E158:')
call assert_fails('sign define Sign2 text=', 'E239:') call assert_fails('sign define Sign2 text=', 'E239:')
endfunc endfunc

View File

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