]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 8.2.2169: Vim9: test leaves file behind v8.2.2169
authorBram Moolenaar <Bram@vim.org>
Sun, 20 Dec 2020 14:43:31 +0000 (15:43 +0100)
committerBram Moolenaar <Bram@vim.org>
Sun, 20 Dec 2020 14:43:31 +0000 (15:43 +0100)
Problem:    Vim9: test leaves file behind.
Solution:   Rename script files. (Dominique PellĂ©, closes #7511)
            Use try/finally.

src/testdir/test_vim9_script.vim
src/testdir/vim9.vim
src/version.c

index 47ea43d3f8cfcd84b06db1921ade3beae38c7bf2..b0e7635b06f4ba6e780d62a812ae519a1507f6f9 100644 (file)
@@ -2412,7 +2412,7 @@ def Test_vim9_comment()
       'delcommand Echo',
       ])
   CheckScriptSuccess([
-      'vim9script'
+      'vim9script',
       'command Echo cd # comment',
       'Echo',
       'delcommand Echo',
@@ -2949,6 +2949,7 @@ def Test_restoring_cpo()
   endif
   delete('Xsourced')
   delete('Xclose')
+  delete('Xdone')
 enddef
 
 
index e7007320dfda0a7775dfa736b3bf772c4cd0dd74..bb522df151a326c2e32d33bc5040a698fd6980d7 100644 (file)
@@ -5,13 +5,18 @@ let s:sequence = 1
 
 " Check that "lines" inside a ":def" function has no error.
 func CheckDefSuccess(lines)
-  let fname = 'Xdef' .. s:sequence
+  let cwd = getcwd()
+  let fname = 'XdefSuccess' .. s:sequence
   let s:sequence += 1
   call writefile(['def Func()'] + a:lines + ['enddef', 'defcompile'], fname)
-  exe 'so ' .. fname
-  call Func()
-  delfunc! Func
-  call delete(fname)
+  try
+    exe 'so ' .. fname
+    call Func()
+    delfunc! Func
+  finally
+    call chdir(cwd)
+    call delete(fname)
+  endtry
 endfunc
 
 " Check that "lines" inside ":def" results in an "error" message.
@@ -19,12 +24,17 @@ endfunc
 " Add a line before and after to make it less likely that the line number is
 " accidentally correct.
 func CheckDefFailure(lines, error, lnum = -3)
-  let fname = 'Xdef' .. s:sequence
-  call writefile(['def Func()', '# comment'] + a:lines + ['#comment', 'enddef', 'defcompile'], fname)
-  call assert_fails('so ' .. fname, a:error, a:lines, a:lnum + 1)
-  delfunc! Func
-  call delete(fname)
+  let cwd = getcwd()
+  let fname = 'XdefFailure' .. s:sequence
   let s:sequence += 1
+  call writefile(['def Func()', '# comment'] + a:lines + ['#comment', 'enddef', 'defcompile'], fname)
+  try
+    call assert_fails('so ' .. fname, a:error, a:lines, a:lnum + 1)
+  finally
+    call chdir(cwd)
+    call delete(fname)
+    delfunc! Func
+  endtry
 endfunc
 
 " Check that "lines" inside ":def" results in an "error" message when executed.
@@ -32,29 +42,44 @@ endfunc
 " Add a line before and after to make it less likely that the line number is
 " accidentally correct.
 func CheckDefExecFailure(lines, error, lnum = -3)
-  let fname = 'Xdef' .. s:sequence
+  let cwd = getcwd()
+  let fname = 'XdefExecFailure' .. s:sequence
   let s:sequence += 1
   call writefile(['def Func()', '# comment'] + a:lines + ['#comment', 'enddef'], fname)
-  exe 'so ' .. fname
-  call assert_fails('call Func()', a:error, a:lines, a:lnum + 1)
-  delfunc! Func
-  call delete(fname)
+  try
+    exe 'so ' .. fname
+    call assert_fails('call Func()', a:error, a:lines, a:lnum + 1)
+  finally
+    call chdir(cwd)
+    call delete(fname)
+    delfunc! Func
+  endtry
 endfunc
 
 def CheckScriptFailure(lines: list<string>, error: string, lnum = -3)
-  var fname = 'Xdef' .. s:sequence
+  var cwd = getcwd()
+  var fname = 'XScriptFailure' .. s:sequence
   s:sequence += 1
   writefile(lines, fname)
-  assert_fails('so ' .. fname, error, lines, lnum)
-  delete(fname)
+  try
+    assert_fails('so ' .. fname, error, lines, lnum)
+  finally
+    chdir(cwd)
+    delete(fname)
+  endtry
 enddef
 
 def CheckScriptSuccess(lines: list<string>)
-  var fname = 'Xdef' .. s:sequence
+  var cwd = getcwd()
+  var fname = 'XScriptSuccess' .. s:sequence
   s:sequence += 1
   writefile(lines, fname)
-  exe 'so ' .. fname
-  delete(fname)
+  try
+    exe 'so ' .. fname
+  finally
+    chdir(cwd)
+    delete(fname)
+  endtry
 enddef
 
 def CheckDefAndScriptSuccess(lines: list<string>)
index 67cc9045bf56e3bc3daa9eab36a0efac64218548..a95c485b839aa59aa830b90b010f00558001da5a 100644 (file)
@@ -750,6 +750,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2169,
 /**/
     2168,
 /**/