summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominique Pelle <dominique.pelle@gmail.com>2022-09-28 10:45:15 +0100
committerBram Moolenaar <Bram@vim.org>2022-09-28 10:45:15 +0100
commitcaa1d19da1cdfd07f93b578b4fd5214a53197cd6 (patch)
tree7ab7791e9605fab6da2f0f1b3753fc8d0f3bc49c
parent47da934844afec7b04d94e0d1f8cf0a86e1b9bea (diff)
downloadvim-git-caa1d19da1cdfd07f93b578b4fd5214a53197cd6.tar.gz
patch 9.0.0613: running source tests leaves file behindv9.0.0613
Problem: Running source tests leaves file behind. Solution: Add the "D" flag to writefile(). (Dominique Pellé, closes #11243) Also do this for other writefile() calls and drop delete().
-rw-r--r--src/testdir/test_source.vim23
-rw-r--r--src/version.c2
2 files changed, 10 insertions, 15 deletions
diff --git a/src/testdir/test_source.vim b/src/testdir/test_source.vim
index 2becf0817..51de0e32d 100644
--- a/src/testdir/test_source.vim
+++ b/src/testdir/test_source.vim
@@ -6,7 +6,7 @@ source view_util.vim
func Test_source_autocmd()
call writefile([
\ 'let did_source = 1',
- \ ], 'Xsourced')
+ \ ], 'Xsourced', 'D')
au SourcePre *source* let did_source_pre = 1
au SourcePost *source* let did_source_post = 1
@@ -16,7 +16,6 @@ func Test_source_autocmd()
call assert_equal(g:did_source_pre, 1)
call assert_equal(g:did_source_post, 1)
- call delete('Xsourced')
au! SourcePre
au! SourcePost
unlet g:did_source
@@ -42,12 +41,11 @@ endfunc
func Test_source_sandbox()
new
- call writefile(["Ohello\<Esc>"], 'Xsourcehello')
+ call writefile(["Ohello\<Esc>"], 'Xsourcehello', 'D')
source! Xsourcehello | echo
call assert_equal('hello', getline(1))
call assert_fails('sandbox source! Xsourcehello', 'E48:')
bwipe!
- call delete('Xsourcehello')
endfunc
" When deleting a file and immediately creating a new one the inode may be
@@ -63,10 +61,9 @@ endfunc
" When sourcing a vim script, shebang should be ignored.
func Test_source_ignore_shebang()
- call writefile(['#!./xyzabc', 'let g:val=369'], 'Xsisfile.vim')
+ call writefile(['#!./xyzabc', 'let g:val=369'], 'Xsisfile.vim', 'D')
source Xsisfile.vim
call assert_equal(g:val, 369)
- call delete('Xsisfile.vim')
endfunc
" Test for expanding <sfile> in an autocmd and for <slnum> and <sflnum>
@@ -82,12 +79,11 @@ func Test_source_autocmd_sfile()
let g:Sflnum = expand('<sflnum>')
augroup! sfiletest
[CODE]
- call writefile(code, 'Xscript.vim')
+ call writefile(code, 'Xscript.vim', 'D')
source Xscript.vim
call assert_equal('Xscript.vim', g:Sfile)
call assert_equal('7', g:Slnum)
call assert_equal('8', g:Sflnum)
- call delete('Xscript.vim')
endfunc
func Test_source_error()
@@ -105,14 +101,13 @@ endfunc
" Test for sourcing a script recursively
func Test_nested_script()
CheckRunVimInTerminal
- call writefile([':source! Xscript.vim', ''], 'Xscript.vim')
+ call writefile([':source! Xscript.vim', ''], 'Xscript.vim', 'D')
let buf = RunVimInTerminal('', {'rows': 6})
call term_wait(buf)
call term_sendkeys(buf, ":set noruler\n")
call term_sendkeys(buf, ":source! Xscript.vim\n")
call term_wait(buf)
call WaitForAssert({-> assert_match('E22: Scripts nested too deep\s*', term_getline(buf, 6))})
- call delete('Xscript.vim')
call StopVimInTerminal(buf)
endfunc
@@ -285,14 +280,13 @@ func Test_source_buffer()
let g:ScriptID3 = expand("<SID>")
let g:Slnum3 = expand("<slnum>")
END
- call writefile(lines, 'Xscript')
+ call writefile(lines, 'Xscript', 'D')
source Xscript
call assert_true(g:ScriptID1 != g:ScriptID2)
call assert_equal(g:ScriptID1, g:ScriptID3)
call assert_equal('2', g:Slnum1)
call assert_equal('1', g:Slnum2)
call assert_equal('12', g:Slnum3)
- call delete('Xscript')
" test for sourcing a heredoc
%d _
@@ -659,10 +653,9 @@ func Test_source_buffer_long_line()
norm i0000000000000000000
silent! so
END
- call writefile(lines, 'Xtest.vim')
+ call writefile(lines, 'Xtest.vim', 'D')
source Xtest.vim
bwipe!
- call delete('Xtest.vim')
endfunc
func Test_source_buffer_with_NUL_char()
@@ -675,7 +668,7 @@ func Test_source_buffer_with_NUL_char()
END
" Can't have a NL in heredoc
let lines += ["silent! vim9 echo [0 \<NL> ? 'a' : 'b']"]
- call writefile(lines, 'XsourceNul', '')
+ call writefile(lines, 'XsourceNul', 'D')
edit XsourceNul
source
diff --git a/src/version.c b/src/version.c
index e92207e36..1621c8141 100644
--- a/src/version.c
+++ b/src/version.c
@@ -700,6 +700,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 613,
+/**/
612,
/**/
611,