patch 9.0.0768: too many delete() calls in tests

Problem:    Too many delete() calls in tests.
Solution:   Use deferred delete where possible.
diff --git a/src/testdir/test_viminfo.vim b/src/testdir/test_viminfo.vim
index 7101727..f168e15 100644
--- a/src/testdir/test_viminfo.vim
+++ b/src/testdir/test_viminfo.vim
@@ -20,7 +20,7 @@
 	\ '|copied as-is',
 	\ '|and one more',
 	\ ]
-  call writefile(lines, 'Xviminfo')
+  call writefile(lines, 'Xviminfo', 'D')
   rviminfo Xviminfo
   call assert_equal('asdf', @/)
 
@@ -40,8 +40,6 @@
     endif
   endfor
   call assert_equal(3, done)
-
-  call delete('Xviminfo')
 endfunc
 
 func Test_global_vars()
@@ -130,7 +128,7 @@
         \ "!GLOB_BLOB_3\tBLO\t0z1x",
         \ "!GLOB_BLOB_4\tBLO\t0z12 ab",
         \ "!GLOB_LIST_1\tLIS\t1 2",
-        \ "!GLOB_DICT_1\tDIC\t1 2"], 'Xviminfo')
+        \ "!GLOB_DICT_1\tDIC\t1 2"], 'Xviminfo', 'D')
   call assert_fails('rv! Xviminfo', 'E488:')
   call assert_equal('123', g:GLOB_BLOB_1)
   call assert_equal(1, type(g:GLOB_BLOB_1))
@@ -145,7 +143,6 @@
   call assert_equal('1 2', g:GLOB_DICT_1)
   call assert_equal(1, type(g:GLOB_DICT_1))
 
-  call delete('Xviminfo')
   set viminfo-=!
 endfunc
 
@@ -583,7 +580,7 @@
   call add(lines, '|1,"x\') " trailing backslash
   call add(lines, '|1,,,,') "trailing comma
   call add(lines, '|1,>234') " trailing continuation line
-  call writefile(lines, 'Xviminfo')
+  call writefile(lines, 'Xviminfo', 'D')
   rviminfo Xviminfo
 
   call delete('Xviminfo')
@@ -613,9 +610,8 @@
   call add(lines, '|4,20,1,1,1,"x"') " invalid value for file name
   call add(lines, '|4,49,0,1,1,"x"') " invalid value for line number
 
-  call writefile(lines, 'Xviminfo')
+  call writefile(lines, 'Xviminfo', 'D')
   rviminfo Xviminfo
-  call delete('Xviminfo')
 endfunc
 
 func Test_viminfo_file_marks()
@@ -691,10 +687,9 @@
 	\ '|4,66,1,0,0,"/tmp/nothing"',
 	\ "",
 	\ ]
-  call writefile(lines, 'Xviminfo')
+  call writefile(lines, 'Xviminfo', 'D')
   delmark B
   rviminfo Xviminfo
-  call delete('Xviminfo')
   call assert_equal(1, line("'B"))
   delmark B
 endfunc
@@ -703,7 +698,7 @@
 func Test_viminfo_file_mark_unloaded_buf()
   let save_viminfo = &viminfo
   set viminfo&vim
-  call writefile(repeat(['vim'], 10), 'Xfile1')
+  call writefile(repeat(['vim'], 10), 'Xfile1', 'D')
   %bwipe
   edit! Xfile1
   call setpos("'u", [0, 3, 1, 0])
@@ -716,7 +711,6 @@
   call assert_equal([0, 3, 1, 0], getpos("'u"))
   call assert_equal([0, 5, 1, 0], getpos("'v"))
   %bwipe
-  call delete('Xfile1')
   call delete('Xviminfo')
   let &viminfo = save_viminfo
 endfunc
@@ -745,11 +739,10 @@
 	\ "\t\"\t11\t0",
 	\ "",
 	\ ]
-  call writefile(lines, 'Xviminfo')
+  call writefile(lines, 'Xviminfo', 'D')
   delmark E
   edit /tmp/file_two.txt
   rviminfo! Xviminfo
-  call delete('Xviminfo')
 
   call assert_equal('h viminfo', histget(':'))
   call assert_equal('session', histget('/'))
@@ -839,7 +832,7 @@
   call assert_fails('rviminfo xyz', 'E195:')
 
   " Illegal starting character
-  call writefile(["a 123"], 'Xviminfo')
+  call writefile(["a 123"], 'Xviminfo', 'D')
   call assert_fails('rv Xviminfo', 'E575:')
 
   " Illegal register name in the viminfo file
@@ -859,8 +852,6 @@
 
   call writefile(repeat(['"@'], 15), 'Xviminfo')
   call assert_fails('rv Xviminfo', 'E577:')
-
-  call delete('Xviminfo')
 endfunc
 
 " Test for saving and restoring last substitute string in viminfo
@@ -901,7 +892,7 @@
 	\ "	:echo 'Hello'\<CR>",
 	\ "",
 	\ ]
-  call writefile(lines, 'Xviminfo')
+  call writefile(lines, 'Xviminfo', 'D')
   let @a = 'one'
   let @b = 'two'
   let @m = 'three'
@@ -919,7 +910,7 @@
   call assert_equal(":echo 'Hello'\<CR>", getreg('m'))
   call assert_equal('Vim', getreg('"'))
   call assert_equal("\nHello", execute('normal @@'))
-  call delete('Xviminfo')
+
   let @" = ''
 endfunc
 
@@ -931,11 +922,11 @@
   set viminfo+=<200
   let lines = ['"r	CHAR	0']
   call extend(lines, repeat(["\tsun is rising"], 200))
-  call writefile(lines, 'Xviminfo')
+  call writefile(lines, 'Xviminfo', 'D')
   let @r = ''
   rviminfo! Xviminfo
   call assert_equal(join(repeat(["sun is rising"], 200), "\n"), @r)
-  call delete('Xviminfo')
+
   let @r = ''
   let &viminfo = save_viminfo
 endfunc
@@ -946,9 +937,9 @@
   set viminfofile=NONE
   wviminfo Xviminfo
   call assert_false(filereadable('Xviminfo'))
-  call writefile([''], 'Xviminfo')
+  call writefile([''], 'Xviminfo', 'D')
   call assert_fails('rviminfo Xviminfo', 'E195:')
-  call delete('Xviminfo')
+
   let &viminfofile = save_vif
 endfunc
 
@@ -956,18 +947,16 @@
 func Test_viminfo_perm()
   CheckUnix
   CheckNotRoot
-  call writefile([''], 'Xviminfo')
+  call writefile([''], 'Xviminfo', 'D')
   call setfperm('Xviminfo', 'r-x------')
   call assert_fails('wviminfo Xviminfo', 'E137:')
   call setfperm('Xviminfo', '--x------')
   call assert_fails('rviminfo Xviminfo', 'E195:')
-  call delete('Xviminfo')
 
   " Try to write the viminfo to a directory
-  call mkdir('Xvifdir')
+  call mkdir('Xvifdir', 'R')
   call assert_fails('wviminfo Xvifdir', 'E137:')
   call assert_fails('rviminfo Xvifdir', 'E195:')
-  call delete('Xvifdir', 'rf')
 endfunc
 
 " Test for writing to an existing viminfo file merges the file marks
@@ -979,8 +968,8 @@
   %argdelete
   %bwipe
 
-  call writefile(repeat(['editor'], 10), 'Xbufa')
-  call writefile(repeat(['Vim'], 10), 'Xbufb')
+  call writefile(repeat(['editor'], 10), 'Xbufa', 'D')
+  call writefile(repeat(['Vim'], 10), 'Xbufb', 'D')
 
   " set marks in buffers
   call test_settime(10)
@@ -1013,8 +1002,6 @@
   " cleanup
   %bwipe
   call delete('Xviminfo')
-  call delete('Xbufa')
-  call delete('Xbufb')
   call test_settime(0)
   let &viminfo=save_viminfo
 endfunc
@@ -1051,7 +1038,7 @@
     w! Xnew-file.txt
     qall
   [CODE]
-  call writefile(commands, 'Xviminfotest')
+  call writefile(commands, 'Xviminfotest', 'D')
   let buf = RunVimInTerminal('-S Xviminfotest', #{wait_for_ruler: 0})
   call WaitForAssert({-> assert_equal("finished", term_getstatus(buf))})
 
@@ -1059,8 +1046,8 @@
   rviminfo! Xviminfofile
   call assert_match('Xnew-file.txt$', v:oldfiles[0])
   call assert_equal(1, len(v:oldfiles))
+
   call delete('Xviminfofile')
-  call delete('Xviminfotest')
   call delete('Xnew-file.txt')
 
   let v:oldfiles = test_null_list()
@@ -1262,7 +1249,7 @@
   call add(lines, '|1,4')
   call add(lines, '> ' .. fnamemodify('a.txt', ':p:~'))
   call add(lines, "\tb\t7\t0\n")
-  call writefile(lines, 'Xviminfo')
+  call writefile(lines, 'Xviminfo', 'D')
   edit b.txt
   call setline(1, range(1, 20))
   12mark b
@@ -1274,7 +1261,6 @@
   edit b.txt
   rviminfo! Xviminfo
   call assert_equal(12, line("'b"))
-  call delete('Xviminfo')
 endfunc
 
 " Test for merging the jump list from a old viminfo file
@@ -1284,14 +1270,13 @@
   call add(lines, "-'  20  1  " .. fnamemodify('a.txt', ':p:~'))
   call add(lines, "-'  30  1  " .. fnamemodify('b.txt', ':p:~'))
   call add(lines, "-'  40  1  " .. fnamemodify('b.txt', ':p:~'))
-  call writefile(lines, 'Xviminfo')
+  call writefile(lines, 'Xviminfo', 'D')
   clearjumps
   rviminfo! Xviminfo
   let l = getjumplist()[0]
   call assert_equal([40, 30, 20, 10], [l[0].lnum, l[1].lnum, l[2].lnum,
         \ l[3].lnum])
   bw!
-  call delete('Xviminfo')
 endfunc
 
 " vim: shiftwidth=2 sts=2 expandtab