From cf1ba35fc2ebd41b9a7738bbd1f026f5311560aa Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 27 Oct 2017 00:55:04 +0200 Subject: 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. --- src/testdir/runtest.vim | 18 ++++++++---------- src/testdir/test_arglist.vim | 5 +---- src/testdir/test_autochdir.vim | 2 ++ src/testdir/test_autocmd.vim | 5 ++--- src/testdir/test_bufwintabinfo.vim | 1 - src/testdir/test_command_count.vim | 20 ++++++++++++-------- src/testdir/test_hardcopy.vim | 1 + src/testdir/test_ins_complete.vim | 1 + src/testdir/test_packadd.vim | 2 +- src/testdir/test_quickfix.vim | 2 +- src/testdir/test_signs.vim | 2 +- src/version.c | 2 ++ 12 files changed, 32 insertions(+), 29 deletions(-) (limited to 'src') diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim index d1593825a..a35944830 100644 --- a/src/testdir/runtest.vim +++ b/src/testdir/runtest.vim @@ -99,6 +99,10 @@ func RunTheTest(test) " Clear any overrides. call test_override('ALL', 0) + " Some tests wipe out buffers. To be consistent, always wipe out all + " buffers. + %bwipe! + if exists("*SetUp") try call SetUp() @@ -133,9 +137,12 @@ func RunTheTest(test) endtry endif + " Clear any autocommands + au! + " Close any extra tab pages and windows and make the current one not modified. while tabpagenr('$') > 1 - bwipe! + quit! endwhile while 1 @@ -150,15 +157,6 @@ func RunTheTest(test) break endif 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 func AfterTheTest() diff --git a/src/testdir/test_arglist.vim b/src/testdir/test_arglist.vim index 2a2425a93..19d0cee47 100644 --- a/src/testdir/test_arglist.vim +++ b/src/testdir/test_arglist.vim @@ -253,10 +253,7 @@ func Test_argedit() call assert_equal(['a', 'b', 'a'], argv()) call assert_equal('a', expand('%:t')) " 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 - " preserved. - bwipe! c - bwipe! d + " difference is re-used. argedit C D call assert_equal('C', expand('%:t')) call assert_equal(['a', 'b', 'a', 'C', 'D'], argv()) diff --git a/src/testdir/test_autochdir.vim b/src/testdir/test_autochdir.vim index f52e2e668..05d69631c 100644 --- a/src/testdir/test_autochdir.vim +++ b/src/testdir/test_autochdir.vim @@ -5,6 +5,7 @@ if !exists("+autochdir") endif func Test_set_filename() + let cwd = getcwd() call test_autochdir() set acd new @@ -13,5 +14,6 @@ func Test_set_filename() call assert_equal("samples", substitute(getcwd(), '.*/\(\k*\)', '\1', '')) bwipe! set noacd + exe 'cd ' . cwd call delete('samples/Xtest') endfunc diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim index aa7d15779..dbf7d20b5 100644 --- a/src/testdir/test_autocmd.vim +++ b/src/testdir/test_autocmd.vim @@ -254,16 +254,15 @@ func Test_BufReadCmdHelp() au BufReadCmd * e +h help - helpclose au! BufReadCmd endfunc func Test_BufReadCmdHelpJump() " This used to cause access to free memory au BufReadCmd * e +h{ - help + " } to fix highlighting + call assert_fails('help', 'E434:') - helpclose au! BufReadCmd endfunc diff --git a/src/testdir/test_bufwintabinfo.vim b/src/testdir/test_bufwintabinfo.vim index 1c9350c41..a592cd7b1 100644 --- a/src/testdir/test_bufwintabinfo.vim +++ b/src/testdir/test_bufwintabinfo.vim @@ -1,7 +1,6 @@ " Tests for the getbufinfo(), getwininfo() and gettabinfo() functions function Test_getbufwintabinfo() - 1,$bwipeout edit Xtestfile1 edit Xtestfile2 let buflist = getbufinfo() diff --git a/src/testdir/test_command_count.vim b/src/testdir/test_command_count.vim index e438a8b07..2d793ed88 100644 --- a/src/testdir/test_command_count.vim +++ b/src/testdir/test_command_count.vim @@ -1,6 +1,7 @@ " Test for user command counts. func Test_command_count_0() + let bufnr = bufnr('%') set hidden set noswapfile @@ -15,17 +16,17 @@ func Test_command_count_0() command! -range=% -addr=buffers RangeBuffersAll :let lines = [, ] .,$RangeLoadedBuffers - call assert_equal([1, 1], lines) + call assert_equal([bufnr, bufnr], lines) %RangeLoadedBuffers - call assert_equal([1, 1], lines) + call assert_equal([bufnr, bufnr], lines) RangeLoadedBuffersAll - call assert_equal([1, 1], lines) + call assert_equal([bufnr, bufnr], lines) .,$RangeBuffers - call assert_equal([1, lastbuf], lines) + call assert_equal([bufnr, lastbuf], lines) %RangeBuffers - call assert_equal([1, lastbuf], lines) + call assert_equal([bufnr, lastbuf], lines) RangeBuffersAll - call assert_equal([1, lastbuf], lines) + call assert_equal([bufnr, lastbuf], lines) delcommand RangeLoadedBuffers delcommand RangeLoadedBuffersAll @@ -138,6 +139,7 @@ func Test_command_count_2() endfunc func Test_command_count_3() + let bufnr = bufnr('%') se nohidden e aaa let buf_aaa = bufnr('%') @@ -145,7 +147,7 @@ func Test_command_count_3() let buf_bbb = bufnr('%') e ccc let buf_ccc = bufnr('%') - buf 1 + exe bufnr . 'buf' call assert_equal([1, 1, 1], [buflisted(buf_aaa), buflisted(buf_bbb), buflisted(buf_ccc)]) exe buf_bbb . "," . buf_ccc . "bdelete" 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() %argd - let bufnr = bufnr('$') + 1 + let bufnr = bufnr('$') arga aa bb cc dd ee ff 3argu let args = [] @@ -171,6 +173,8 @@ func Test_command_count_4() only! exe bufnr . 'buf' + bnext + let bufnr = bufnr('%') let buffers = [] .,$-bufdo call add(buffers, bufnr('%')) call assert_equal([bufnr, bufnr + 1, bufnr + 2, bufnr + 3, bufnr + 4], buffers) diff --git a/src/testdir/test_hardcopy.vim b/src/testdir/test_hardcopy.vim index 07bb2479b..f630556be 100644 --- a/src/testdir/test_hardcopy.vim +++ b/src/testdir/test_hardcopy.vim @@ -50,6 +50,7 @@ endfunc " We don't check much of the contents. func Test_with_syntax() if has('postscript') + edit test_hardcopy.vim set printoptions=syntax:y syn on hardcopy > Xhardcopy diff --git a/src/testdir/test_ins_complete.vim b/src/testdir/test_ins_complete.vim index 2dd2fb753..bdad26a8c 100644 --- a/src/testdir/test_ins_complete.vim +++ b/src/testdir/test_ins_complete.vim @@ -1,6 +1,7 @@ " Test for insert expansion func Test_ins_complete() + edit test_ins_complete.vim set ff=unix call writefile(["test11\t36Gepeto\t/Tag/", \ "asd\ttest11file\t36G", diff --git a/src/testdir/test_packadd.vim b/src/testdir/test_packadd.vim index 66cbb4783..c83d4a876 100644 --- a/src/testdir/test_packadd.vim +++ b/src/testdir/test_packadd.vim @@ -2,7 +2,7 @@ func SetUp() - let s:topdir = expand('%:h') . '/Xdir' + let s:topdir = getcwd() . '/Xdir' exe 'set packpath=' . s:topdir let s:plugdir = s:topdir . '/pack/mine/opt/mytest' endfunc diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim index 90a51050d..31b6b9f9c 100644 --- a/src/testdir/test_quickfix.vim +++ b/src/testdir/test_quickfix.vim @@ -151,7 +151,7 @@ endfunc func XageTests(cchar) call s:setup_commands(a:cchar) - let list = [{'bufnr': 1, 'lnum': 1}] + let list = [{'bufnr': bufnr('%'), 'lnum': 1}] call g:Xsetlist(list) " Jumping to a non existent list should return error diff --git a/src/testdir/test_signs.vim b/src/testdir/test_signs.vim index 75dbd74b3..a96743534 100644 --- a/src/testdir/test_signs.vim +++ b/src/testdir/test_signs.vim @@ -182,7 +182,7 @@ func Test_sign_invalid_commands() call assert_fails('sign define Sign1 xxx', 'E475:') call assert_fails('sign undefine', 'E156:') 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:') endfunc diff --git a/src/version.c b/src/version.c index 6ccb6103b..2b8fda7f3 100644 --- a/src/version.c +++ b/src/version.c @@ -761,6 +761,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1224, /**/ 1223, /**/ -- cgit v1.2.3