Mercurial > vim
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