changeset 12779:73eb8a2d7f04 v8.0.1267

patch 8.0.1267: Test_swap_group may leave file behind commit https://github.com/vim/vim/commit/5842a748be8039fd6d267f5557fe391c6c95399d Author: Bram Moolenaar <Bram@vim.org> Date: Sat Nov 4 22:36:53 2017 +0100 patch 8.0.1267: Test_swap_group may leave file behind Problem: Test_swap_group may leave file behind. Solution: Add a try/finally.
author Christian Brabandt <cb@256bit.org>
date Sat, 04 Nov 2017 22:45:06 +0100
parents 77a183c386a5
children 26581133b31e
files src/testdir/test_swap.vim src/testdir/test_undo.vim src/version.c
diffstat 3 files changed, 25 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_swap.vim
+++ b/src/testdir/test_swap.vim
@@ -56,27 +56,29 @@ func Test_swap_group()
     throw 'Skipped: need at least two groups, got ' . string(groups)
   endif
 
-  call delete('Xtest')
-  split Xtest
-  call setline(1, 'just some text')
-  wq
-  if system('ls -l Xtest') !~ ' ' . groups[0] . ' \d'
-    throw 'Skipped: test file does not have the first group'
-  else
-    silent !chmod 640 Xtest
-    call system('chgrp ' . groups[1] . ' Xtest')
-    if system('ls -l Xtest') !~ ' ' . groups[1] . ' \d'
-      throw 'Skipped: cannot set second group on test file'
+  try
+    call delete('Xtest')
+    split Xtest
+    call setline(1, 'just some text')
+    wq
+    if system('ls -l Xtest') !~ ' ' . groups[0] . ' \d'
+      throw 'Skipped: test file does not have the first group'
     else
-      split Xtest
-      let swapname = substitute(execute('swapname'), '[[:space:]]', '', 'g')
-      call assert_match('Xtest', swapname)
-      " Group of swapfile must now match original file.
-      call assert_match(' ' . groups[1] . ' \d', system('ls -l ' . swapname))
+      silent !chmod 640 Xtest
+      call system('chgrp ' . groups[1] . ' Xtest')
+      if system('ls -l Xtest') !~ ' ' . groups[1] . ' \d'
+	throw 'Skipped: cannot set second group on test file'
+      else
+	split Xtest
+	let swapname = substitute(execute('swapname'), '[[:space:]]', '', 'g')
+	call assert_match('Xtest', swapname)
+	" Group of swapfile must now match original file.
+	call assert_match(' ' . groups[1] . ' \d', system('ls -l ' . swapname))
 
-      bwipe!
+	bwipe!
+      endif
     endif
-  endif
-
-  call delete('Xtest')
+  finally
+    call delete('Xtest')
+  endtry
 endfunc
--- a/src/testdir/test_undo.vim
+++ b/src/testdir/test_undo.vim
@@ -190,6 +190,7 @@ func Test_undojoin_redo()
 endfunc
 
 func Test_undo_write()
+  call delete('Xtest')
   split Xtest
   call feedkeys("ione one one\<Esc>", 'xt')
   w!
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1267,
+/**/
     1266,
 /**/
     1265,