Mercurial > vim
view src/testdir/test_delete.vim @ 32697:e5cd5e8627da v9.0.1679
patch 9.0.1679: Cleanup Tests from leftover files
Commit: https://github.com/vim/vim/commit/84bc00e9b52b1174888f2f696f8b628a83c49988
Author: Christian Brabandt <cb@256bit.org>
Date: Thu Jul 13 11:45:54 2023 +0200
patch 9.0.1679: Cleanup Tests from leftover files
Problem: Tests may leave leftover files around
Solution: Clean up tests and remove files
There were a few failures in 'linux (huge, gcc, testgui, true, true)'
e.g. here: https://github.com/vim/vim/actions/runs/5497376153/jobs/10018060156
,----
| Error detected while processing command line..script /home/runner/work/vim/vim/src/testdir/runtest.vim[585]..function RunTheTest[54]..Test_lvimgrep_crash[16]..TestTimeout[12]..VimLeavePre Autocommands for "*"..function EarlyExit[7]..FinishTesting:
| line 70:
| E445: Other window contains changes
| E937: Attempt to delete a buffer that is in use: Xtest_stable_xxd.txt
| E937: Attempt to delete a buffer that is in use: Xtest_stable_xxd.txt
| E937: Attempt to delete a buffer that is in use: Xtest_stable_xxd.txtmalloc(): unsorted double linked list corrupted
`----
Which is puzzling, because the Xtest_stable_xxd file should have been
long gone after test_crypt.vim is run (and definitely no longer be
staying around in test_quickfix.vim).
So try to clean up properly after a test script is run, just in case any
X<file> is still around. During testing, a found a few leftover files,
which I also fixed in the relevant test-file.
Unfortunately, the test workflow 'linux (huge, gcc, testgui, true,
true)' now seems to fail with 'E1230: Encryption: sodium_mlock()' in
test_crypt.vim. Hopefully this is only temporary.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 08 Aug 2023 20:45:05 +0200 |
parents | 98f5a0618a77 |
children | 58c9f11eae5b |
line wrap: on
line source
" Test for delete(). source check.vim func Test_file_delete() split Xfdelfile call setline(1, ['a', 'b']) wq call assert_equal(['a', 'b'], readfile('Xfdelfile')) call assert_equal(0, delete('Xfdelfile')) call assert_fails('call readfile("Xfdelfile")', 'E484:') call assert_equal(-1, delete('Xfdelfile')) bwipe Xfdelfile endfunc func Test_dir_delete() call mkdir('Xdirdel') call assert_true(isdirectory('Xdirdel')) call assert_equal(0, delete('Xdirdel', 'd')) call assert_false(isdirectory('Xdirdel')) call assert_equal(-1, delete('Xdirdel', 'd')) endfunc func Test_recursive_delete() call mkdir('Xrecdel') call mkdir('Xrecdel/subdir') call mkdir('Xrecdel/empty') split Xrecdel/Xfile call setline(1, ['a', 'b']) w w Xrecdel/subdir/Xfile close call assert_true(isdirectory('Xrecdel')) call assert_equal(['a', 'b'], readfile('Xrecdel/Xfile')) call assert_true(isdirectory('Xrecdel/subdir')) call assert_equal(['a', 'b'], readfile('Xrecdel/subdir/Xfile')) call assert_true('Xrecdel/empty'->isdirectory()) call assert_equal(0, delete('Xrecdel', 'rf')) call assert_false(isdirectory('Xrecdel')) call assert_equal(-1, delete('Xrecdel', 'd')) bwipe Xrecdel/Xfile bwipe Xrecdel/subdir/Xfile endfunc func Test_symlink_delete() CheckUnix split Xslfile call setline(1, ['a', 'b']) wq silent !ln -s Xslfile Xdellink " Delete the link, not the file call assert_equal(0, delete('Xdellink')) call assert_equal(-1, delete('Xdellink')) call assert_equal(0, delete('Xslfile')) bwipe Xslfile endfunc func Test_symlink_dir_delete() CheckUnix call mkdir('Xsymdir') silent !ln -s Xsymdir Xdirlink call assert_true(isdirectory('Xsymdir')) call assert_true(isdirectory('Xdirlink')) " Delete the link, not the directory call assert_equal(0, delete('Xdirlink')) call assert_equal(-1, delete('Xdirlink')) call assert_equal(0, delete('Xsymdir', 'd')) endfunc func Test_symlink_recursive_delete() CheckUnix call mkdir('Xrecdir3') call mkdir('Xrecdir3/subdir') call mkdir('Xrecdir4') split Xrecdir3/Xfile call setline(1, ['a', 'b']) w w Xrecdir3/subdir/Xfile w Xrecdir4/Xfile close silent !ln -s ../Xrecdir4 Xrecdir3/Xreclink call assert_true(isdirectory('Xrecdir3')) call assert_equal(['a', 'b'], readfile('Xrecdir3/Xfile')) call assert_true(isdirectory('Xrecdir3/subdir')) call assert_equal(['a', 'b'], readfile('Xrecdir3/subdir/Xfile')) call assert_true(isdirectory('Xrecdir4')) call assert_true(isdirectory('Xrecdir3/Xreclink')) call assert_equal(['a', 'b'], readfile('Xrecdir4/Xfile')) call assert_equal(0, delete('Xrecdir3', 'rf')) call assert_false(isdirectory('Xrecdir3')) call assert_equal(-1, delete('Xrecdir3', 'd')) " symlink is deleted, not the directory it points to call assert_true(isdirectory('Xrecdir4')) call assert_equal(['a', 'b'], readfile('Xrecdir4/Xfile')) call assert_equal(0, delete('Xrecdir4/Xfile')) call assert_equal(0, delete('Xrecdir4', 'd')) bwipe Xrecdir3/Xfile bwipe Xrecdir3/subdir/Xfile bwipe Xrecdir4/Xfile endfunc func Test_delete_errors() call assert_fails('call delete('''')', 'E474:') call assert_fails('call delete(''foo'', 0)', 'E15:') endfunc " vim: shiftwidth=2 sts=2 expandtab