Mercurial > vim
diff src/testdir/test_writefile.vim @ 21580:93dae47699fb v8.2.1340
patch 8.2.1340: some tests fail on Cirrus CI and/or with FreeBSD
Commit: https://github.com/vim/vim/commit/b86abadf87bd0f85f800077171ec4b98aefff776
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Aug 1 16:08:19 2020 +0200
patch 8.2.1340: some tests fail on Cirrus CI and/or with FreeBSD
Problem: Some tests fail on Cirrus CI and/or with FreeBSD.
Solution: Make 'backupskip' empty. Do not run tests as root. Check for
directory when using viminfo. (Ozaki Kiichi, closes #6596)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 01 Aug 2020 16:15:04 +0200 |
parents | dc1c26547a42 |
children | 08940efa6b4e |
line wrap: on
line diff
--- a/src/testdir/test_writefile.vim +++ b/src/testdir/test_writefile.vim @@ -136,9 +136,7 @@ func Test_writefile_sync_arg() endfunc func Test_writefile_sync_dev_stdout() - if !has('unix') - return - endif + CheckUnix if filewritable('/dev/stdout') " Just check that this doesn't cause an error. call writefile(['one'], '/dev/stdout') @@ -371,13 +369,10 @@ endfunc " Test for writing to a readonly file func Test_write_readonly() - " In Cirrus-CI, the freebsd tests are run under a root account. So this test - " doesn't fail. - CheckNotBSD call writefile([], 'Xfile') call setfperm('Xfile', "r--------") edit Xfile - set noreadonly + set noreadonly backupskip= call assert_fails('write', 'E505:') let save_cpo = &cpo set cpo+=W @@ -386,37 +381,32 @@ func Test_write_readonly() call setline(1, ['line1']) write! call assert_equal(['line1'], readfile('Xfile')) + set backupskip& call delete('Xfile') endfunc " Test for 'patchmode' func Test_patchmode() - CheckNotBSD call writefile(['one'], 'Xfile') - set patchmode=.orig nobackup writebackup + set patchmode=.orig nobackup backupskip= writebackup new Xfile call setline(1, 'two') " first write should create the .orig file write - " TODO: Xfile.orig is not created in Cirrus FreeBSD CI test call assert_equal(['one'], readfile('Xfile.orig')) call setline(1, 'three') " subsequent writes should not create/modify the .orig file write call assert_equal(['one'], readfile('Xfile.orig')) - set patchmode& backup& writebackup& + set patchmode& backup& backupskip& writebackup& call delete('Xfile') call delete('Xfile.orig') endfunc " Test for writing to a file in a readonly directory func Test_write_readonly_dir() - if !has('unix') || has('bsd') - " On MS-Windows, modifying files in a read-only directory is allowed. - " In Cirrus-CI for Freebsd, tests are run under a root account where - " modifying files in a read-only directory are allowed. - return - endif + " On MS-Windows, modifying files in a read-only directory is allowed. + CheckUnix call mkdir('Xdir') call writefile(['one'], 'Xdir/Xfile1') call setfperm('Xdir', 'r-xr--r--') @@ -426,12 +416,12 @@ func Test_write_readonly_dir() call assert_fails('write', 'E212:') " try to create a backup file in the directory edit! Xdir/Xfile1 - set backupdir=./Xdir + set backupdir=./Xdir backupskip= set patchmode=.orig call assert_fails('write', 'E509:') call setfperm('Xdir', 'rwxr--r--') call delete('Xdir', 'rf') - set backupdir& patchmode& + set backupdir& backupskip& patchmode& endfunc " Test for writing a file using invalid file encoding