To: vim_dev@googlegroups.com Subject: Patch 9.0.0538 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 9.0.0538 Problem: Manually deleting test temp files. Solution: Add the 'D' flag to writefile(). Files: src/testdir/test_eval_stuff.vim, src/testdir/test_ex_mode.vim, src/testdir/test_excmd.vim, src/testdir/test_execute_func.vim, src/testdir/test_exit.vim, src/testdir/test_expand.vim, src/testdir/test_expand_func.vim, src/testdir/test_expr.vim *** ../vim-9.0.0537/src/testdir/test_eval_stuff.vim 2022-09-17 21:07:52.107993141 +0100 --- src/testdir/test_eval_stuff.vim 2022-09-21 21:49:11.622924614 +0100 *************** *** 25,31 **** endfunc func Test_mkdir_p() ! call mkdir('Xmkdir/nested', 'p') call assert_true(isdirectory('Xmkdir/nested')) try " Trying to make existing directories doesn't error --- 25,31 ---- endfunc func Test_mkdir_p() ! call mkdir('Xmkdir/nested', 'pR') call assert_true(isdirectory('Xmkdir/nested')) try " Trying to make existing directories doesn't error *************** *** 35,44 **** call assert_report('mkdir(..., "p") failed for an existing directory') endtry " 'p' doesn't suppress real errors ! call writefile([], 'Xmkdirfile') call assert_fails('call mkdir("Xmkdirfile", "p")', 'E739:') ! call delete('Xmkdirfile') ! call delete('Xmkdir', 'rf') call assert_equal(0, mkdir(test_null_string())) call assert_fails('call mkdir([])', 'E730:') call assert_fails('call mkdir("abc", [], [])', 'E745:') --- 35,43 ---- call assert_report('mkdir(..., "p") failed for an existing directory') endtry " 'p' doesn't suppress real errors ! call writefile([], 'Xmkdirfile', 'D') call assert_fails('call mkdir("Xmkdirfile", "p")', 'E739:') ! call assert_equal(0, mkdir(test_null_string())) call assert_fails('call mkdir([])', 'E730:') call assert_fails('call mkdir("abc", [], [])', 'E745:') *************** *** 160,170 **** 111111111111111111111111 for line in ['one'] endfor END ! call writefile(lines, 'XinvalidFor') " only test that this doesn't crash call RunVim([], [], '-u NONE -e -s -S XinvalidFor -c qa') - - call delete('XinvalidFor') endfunc func Test_readfile_binary() --- 159,167 ---- 111111111111111111111111 for line in ['one'] endfor END ! call writefile(lines, 'XinvalidFor', 'D') " only test that this doesn't crash call RunVim([], [], '-u NONE -e -s -S XinvalidFor -c qa') endfunc func Test_readfile_binary() *************** *** 186,195 **** endfunc func Test_readfile_binary_empty() ! call writefile([], 'Xempty-file') " This used to compare uninitialized memory in Vim <= 8.2.4065 call assert_equal([''], readfile('Xempty-file', 'b')) - call delete('Xempty-file') endfunc func Test_readfile_bom() --- 183,191 ---- endfunc func Test_readfile_binary_empty() ! call writefile([], 'Xempty-file', 'D') " This used to compare uninitialized memory in Vim <= 8.2.4065 call assert_equal([''], readfile('Xempty-file', 'b')) endfunc func Test_readfile_bom() *************** *** 199,208 **** endfunc func Test_readfile_max() ! call writefile(range(1, 4), 'XReadfile_max') call assert_equal(['1', '2'], readfile('XReadfile_max', '', 2)) call assert_equal(['3', '4'], readfile('XReadfile_max', '', -2)) - call delete('XReadfile_max') endfunc func Test_let_errmsg() --- 195,203 ---- endfunc func Test_readfile_max() ! call writefile(range(1, 4), 'XReadfile_max', 'D') call assert_equal(['1', '2'], readfile('XReadfile_max', '', 2)) call assert_equal(['3', '4'], readfile('XReadfile_max', '', -2)) endfunc func Test_let_errmsg() *************** *** 336,344 **** endfunc func Test_scriptversion_fail() ! call writefile(['scriptversion 9'], 'Xversionscript') call assert_fails('source Xversionscript', 'E999:') - call delete('Xversionscript') endfunc func Test_execute_cmd_with_null() --- 331,338 ---- endfunc func Test_scriptversion_fail() ! call writefile(['scriptversion 9'], 'Xversionscript', 'D') call assert_fails('source Xversionscript', 'E999:') endfunc func Test_execute_cmd_with_null() *** ../vim-9.0.0537/src/testdir/test_ex_mode.vim 2022-07-26 17:48:09.912150777 +0100 --- src/testdir/test_ex_mode.vim 2022-09-21 21:49:42.230847352 +0100 *************** *** 237,249 **** call writefile(['done'], 'Xdidexmode') qall! END ! call writefile(lines, 'Xexmodescript') call assert_equal(1, RunVim([], [], '-e -s -S Xexmodescript')) call assert_equal(['done'], readfile('Xdidexmode')) call delete('logfile') call delete('Xdidexmode') - call delete('Xexmodescript') endfunc func Test_ex_mode_count_overflow() --- 237,248 ---- call writefile(['done'], 'Xdidexmode') qall! END ! call writefile(lines, 'Xexmodescript', 'D') call assert_equal(1, RunVim([], [], '-e -s -S Xexmodescript')) call assert_equal(['done'], readfile('Xdidexmode')) call delete('logfile') call delete('Xdidexmode') endfunc func Test_ex_mode_count_overflow() *************** *** 257,268 **** call writefile(['done'], 'Xdidexmode') qall! END ! call writefile(lines, 'Xexmodescript') call assert_equal(1, RunVim([], [], '-e -s -S Xexmodescript -c qa')) call assert_equal(['done'], readfile('Xdidexmode')) call delete('Xdidexmode') - call delete('Xexmodescript') endfunc func Test_ex_mode_large_indent() --- 256,266 ---- call writefile(['done'], 'Xdidexmode') qall! END ! call writefile(lines, 'Xexmodescript', 'D') call assert_equal(1, RunVim([], [], '-e -s -S Xexmodescript -c qa')) call assert_equal(['done'], readfile('Xdidexmode')) call delete('Xdidexmode') endfunc func Test_ex_mode_large_indent() *************** *** 281,291 **** 0norm0V: :qall! END ! call writefile(lines, 'Xexmodescript') call assert_equal(1, RunVim([], [], '-u NONE -e -s -S Xexmodescript')) - call delete('Xexmodescript') - " This may cause a dialog to be displayed for an empty command, ignore it. call delete('guidialogfile') endfunc --- 279,287 ---- 0norm0V: :qall! END ! call writefile(lines, 'Xexmodescript', 'D') call assert_equal(1, RunVim([], [], '-u NONE -e -s -S Xexmodescript')) " This may cause a dialog to be displayed for an empty command, ignore it. call delete('guidialogfile') endfunc *** ../vim-9.0.0537/src/testdir/test_excmd.vim 2022-09-02 21:55:45.499049444 +0100 --- src/testdir/test_excmd.vim 2022-09-21 21:53:01.162365708 +0100 *************** *** 83,89 **** " Test for the :drop command func Test_drop_cmd() ! call writefile(['L1', 'L2'], 'Xdropfile') enew | only drop Xdropfile call assert_equal('L2', getline(2)) --- 83,89 ---- " Test for the :drop command func Test_drop_cmd() ! call writefile(['L1', 'L2'], 'Xdropfile', 'D') enew | only drop Xdropfile call assert_equal('L2', getline(2)) *************** *** 99,105 **** " Check for setting the argument list call assert_equal(['Xdropfile'], argv()) enew | only! - call delete('Xdropfile') endfunc " Test for the :append command --- 99,104 ---- *************** *** 141,154 **** endfunc call timer_start(10, 'Timer') END ! call writefile(lines, 'Xtest_append_cmd_empty_buf') let buf = RunVimInTerminal('-S Xtest_append_cmd_empty_buf', {'rows': 6}) call WaitForAssert({-> assert_equal('bbbbb', term_getline(buf, 2))}) call WaitForAssert({-> assert_equal('aaaaa', term_getline(buf, 1))}) " clean up call StopVimInTerminal(buf) - call delete('Xtest_append_cmd_empty_buf') endfunc " Test for the :insert command --- 140,152 ---- endfunc call timer_start(10, 'Timer') END ! call writefile(lines, 'Xtest_append_cmd_empty_buf', 'D') let buf = RunVimInTerminal('-S Xtest_append_cmd_empty_buf', {'rows': 6}) call WaitForAssert({-> assert_equal('bbbbb', term_getline(buf, 2))}) call WaitForAssert({-> assert_equal('aaaaa', term_getline(buf, 1))}) " clean up call StopVimInTerminal(buf) endfunc " Test for the :insert command *************** *** 190,203 **** endfunc call timer_start(10, 'Timer') END ! call writefile(lines, 'Xtest_insert_cmd_empty_buf') let buf = RunVimInTerminal('-S Xtest_insert_cmd_empty_buf', {'rows': 6}) call WaitForAssert({-> assert_equal('bbbbb', term_getline(buf, 2))}) call WaitForAssert({-> assert_equal('aaaaa', term_getline(buf, 1))}) " clean up call StopVimInTerminal(buf) - call delete('Xtest_insert_cmd_empty_buf') endfunc " Test for the :change command --- 188,200 ---- endfunc call timer_start(10, 'Timer') END ! call writefile(lines, 'Xtest_insert_cmd_empty_buf', 'D') let buf = RunVimInTerminal('-S Xtest_insert_cmd_empty_buf', {'rows': 6}) call WaitForAssert({-> assert_equal('bbbbb', term_getline(buf, 2))}) call WaitForAssert({-> assert_equal('aaaaa', term_getline(buf, 1))}) " clean up call StopVimInTerminal(buf) endfunc " Test for the :change command *************** *** 241,248 **** CheckNotGui CheckRunVimInTerminal ! call writefile(['foo1'], 'Xfoo') ! call writefile(['bar1'], 'Xbar') " Test for saving all the modified buffers let lines =<< trim END --- 238,245 ---- CheckNotGui CheckRunVimInTerminal ! call writefile(['foo1'], 'Xfoo', 'D') ! call writefile(['bar1'], 'Xbar', 'D') " Test for saving all the modified buffers let lines =<< trim END *************** *** 253,259 **** call setline(1, 'bar2') wincmd b END ! call writefile(lines, 'Xscript') let buf = RunVimInTerminal('-S Xscript', {'rows': 20}) call term_sendkeys(buf, ":confirm qall\n") call WaitForAssert({-> assert_match('\[Y\]es, (N)o, Save (A)ll, (D)iscard All, (C)ancel: ', term_getline(buf, 20))}, 1000) --- 250,256 ---- call setline(1, 'bar2') wincmd b END ! call writefile(lines, 'Xscript', 'D') let buf = RunVimInTerminal('-S Xscript', {'rows': 20}) call term_sendkeys(buf, ":confirm qall\n") call WaitForAssert({-> assert_match('\[Y\]es, (N)o, Save (A)ll, (D)iscard All, (C)ancel: ', term_getline(buf, 20))}, 1000) *************** *** 302,311 **** call assert_equal(['foo4'], readfile('Xfoo')) call assert_equal(['bar2'], readfile('Xbar')) - - call delete('Xscript') - call delete('Xfoo') - call delete('Xbar') endfunc func Test_confirm_cmd_cancel() --- 299,304 ---- *************** *** 318,324 **** new call setline(1, 'abc') END ! call writefile(lines, 'Xscript') let buf = RunVimInTerminal('-S Xscript', {'rows': 20}) call term_sendkeys(buf, ":confirm close\n") call WaitForAssert({-> assert_match('^\[Y\]es, (N)o, (C)ancel: *$', --- 311,317 ---- new call setline(1, 'abc') END ! call writefile(lines, 'Xscript', 'D') let buf = RunVimInTerminal('-S Xscript', {'rows': 20}) call term_sendkeys(buf, ":confirm close\n") call WaitForAssert({-> assert_match('^\[Y\]es, (N)o, (C)ancel: *$', *************** *** 332,338 **** call WaitForAssert({-> assert_match('^ *0,0-1 All$', \ term_getline(buf, 20))}, 1000) call StopVimInTerminal(buf) - call delete('Xscript') endfunc " The ":confirm" prompt was sometimes used with the terminal in cooked mode. --- 325,330 ---- *************** *** 342,355 **** CheckNotGui CheckRunVimInTerminal ! call writefile(['foo'], 'Xfoo') let lines =<< trim END set hidden nomore call setline(1, 'abc') edit Xfoo END ! call writefile(lines, 'Xscript') let buf = RunVimInTerminal('-S Xscript', {'rows': 20}) call term_sendkeys(buf, ":confirm q\n") call WaitForAssert({-> assert_match('^\[Y\]es, (N)o, (C)ancel: *$', --- 334,347 ---- CheckNotGui CheckRunVimInTerminal ! call writefile(['foo'], 'Xfoo', 'D') let lines =<< trim END set hidden nomore call setline(1, 'abc') edit Xfoo END ! call writefile(lines, 'Xscript', 'D') let buf = RunVimInTerminal('-S Xscript', {'rows': 20}) call term_sendkeys(buf, ":confirm q\n") call WaitForAssert({-> assert_match('^\[Y\]es, (N)o, (C)ancel: *$', *************** *** 365,387 **** call term_sendkeys(buf, 'C') call WaitForAssert({-> assert_notmatch('^\[Y\]es, (N)o, (C)ancel: C*$', \ term_getline(buf, 20))}, 1000) - call StopVimInTerminal(buf) ! call delete('Xscript') ! call delete('Xfoo') endfunc func Test_confirm_write_ro() CheckNotGui CheckRunVimInTerminal ! call writefile(['foo'], 'Xconfirm_write_ro') let lines =<< trim END set nobackup ff=unix cmdheight=2 edit Xconfirm_write_ro norm Abar END ! call writefile(lines, 'Xscript') let buf = RunVimInTerminal('-S Xscript', {'rows': 20}) " Try to write with 'ro' option. --- 357,377 ---- call term_sendkeys(buf, 'C') call WaitForAssert({-> assert_notmatch('^\[Y\]es, (N)o, (C)ancel: C*$', \ term_getline(buf, 20))}, 1000) ! call StopVimInTerminal(buf) endfunc func Test_confirm_write_ro() CheckNotGui CheckRunVimInTerminal ! call writefile(['foo'], 'Xconfirm_write_ro', 'D') let lines =<< trim END set nobackup ff=unix cmdheight=2 edit Xconfirm_write_ro norm Abar END ! call writefile(lines, 'Xscript', 'D') let buf = RunVimInTerminal('-S Xscript', {'rows': 20}) " Try to write with 'ro' option. *************** *** 422,438 **** call assert_equal(['foo'], readfile('Xconfirm_write_ro')) call StopVimInTerminal(buf) - call delete('Xscript') - call delete('Xconfirm_write_ro') endfunc func Test_confirm_write_partial_file() CheckNotGui CheckRunVimInTerminal ! call writefile(['a', 'b', 'c', 'd'], 'Xwrite_partial') call writefile(['set nobackup ff=unix cmdheight=2', ! \ 'edit Xwrite_partial'], 'Xscript') let buf = RunVimInTerminal('-S Xscript', {'rows': 20}) call term_sendkeys(buf, ":confirm 2,3w\n") --- 412,426 ---- call assert_equal(['foo'], readfile('Xconfirm_write_ro')) call StopVimInTerminal(buf) endfunc func Test_confirm_write_partial_file() CheckNotGui CheckRunVimInTerminal ! call writefile(['a', 'b', 'c', 'd'], 'Xwrite_partial', 'D') call writefile(['set nobackup ff=unix cmdheight=2', ! \ 'edit Xwrite_partial'], 'Xscript', 'D') let buf = RunVimInTerminal('-S Xscript', {'rows': 20}) call term_sendkeys(buf, ":confirm 2,3w\n") *************** *** 458,465 **** call assert_equal(['b', 'c'], readfile('Xwrite_partial')) call StopVimInTerminal(buf) - call delete('Xwrite_partial') - call delete('Xscript') endfunc " Test for the :print command --- 446,451 ---- *************** *** 509,518 **** CheckNotRoot " Redirecting to a read-only file ! call writefile([], 'Xredirfile') call setfperm('Xredirfile', 'r--r--r--') call assert_fails('redir! > Xredirfile', 'E190:') - call delete('Xredirfile') endfunc " Test for the :filetype command --- 495,503 ---- CheckNotRoot " Redirecting to a read-only file ! call writefile([], 'Xredirfile', 'D') call setfperm('Xredirfile', 'r--r--r--') call assert_fails('redir! > Xredirfile', 'E190:') endfunc " Test for the :filetype command *************** *** 532,538 **** " Test for the :read command func Test_read_cmd() ! call writefile(['one'], 'Xcmdfile') new call assert_fails('read', 'E32:') edit Xcmdfile --- 517,523 ---- " Test for the :read command func Test_read_cmd() ! call writefile(['one'], 'Xcmdfile', 'D') new call assert_fails('read', 'E32:') edit Xcmdfile *************** *** 546,552 **** call feedkeys("Qr Xcmdfile\visual\", 'xt') call assert_equal(['one'], getline(1, '$')) close! - call delete('Xcmdfile') endfunc " Test for running Ex commands when text is locked. --- 531,536 ---- *************** *** 727,733 **** " Test :write after changing name with :file and loading it with :edit func Test_write_after_rename() ! call writefile(['text'], 'Xafterfile') enew file Xafterfile --- 711,717 ---- " Test :write after changing name with :file and loading it with :edit func Test_write_after_rename() ! call writefile(['text'], 'Xafterfile', 'D') enew file Xafterfile *************** *** 737,743 **** edit write - call delete('Xafterfile') bwipe! endfunc --- 721,726 ---- *** ../vim-9.0.0537/src/testdir/test_execute_func.vim 2022-09-17 21:07:52.107993141 +0100 --- src/testdir/test_execute_func.vim 2022-09-21 21:53:20.414320678 +0100 *************** *** 183,195 **** silent tabedit Xfile3 autocmd VimEnter * win_execute(id, 'close') END ! call writefile(lines, 'XwinExecute') let buf = RunVimInTerminal('-p Xfile1 -Nu XwinExecute', {}) " this was crashing on exit with EXITFREE defined call StopVimInTerminal(buf) - call delete('XwinExecute') call delete('Xfile1') endfunc --- 183,194 ---- silent tabedit Xfile3 autocmd VimEnter * win_execute(id, 'close') END ! call writefile(lines, 'XwinExecute', 'D') let buf = RunVimInTerminal('-p Xfile1 -Nu XwinExecute', {}) " this was crashing on exit with EXITFREE defined call StopVimInTerminal(buf) call delete('Xfile1') endfunc *** ../vim-9.0.0537/src/testdir/test_exit.vim 2022-06-21 18:26:26.000000000 +0100 --- src/testdir/test_exit.vim 2022-09-21 21:54:17.954187503 +0100 *************** *** 117,129 **** CheckNotAsan CheckNotValgrind ! call writefile([":au VimLeave * call writefile(['l = ' .. v:exiting], 'Xtestout')", ":tabnew", "q:"], 'Xscript', 'b') if RunVim([], [], '"', \ 'E498: No :source file name to substitute for ""'], \ readfile('Xresult')) endif - call delete('Xscript') call delete('Xresult') endfunc --- 137,149 ---- :call writefile(v:errors, 'Xresult') :qall! [SCRIPT] ! call writefile(lines, 'Xscript', 'D') if RunVim([], [], '--clean -s Xscript') call assert_equal([ \ 'E1274: No script file name to substitute for "