forked from aniani/vim
patch 8.0.1708: mkdir with 'p' flag fails on existing directory
Problem: Mkdir with 'p' flag fails on existing directory, which is
different from the mkdir shell command.
Solution: Don't fail if the directory already exists. (James McCoy,
closes #2775)
This commit is contained in:
@@ -25,3 +25,20 @@ func Test_nocatch_restore_silent_emsg()
|
||||
let c5 = nr2char(screenchar(&lines, 5))
|
||||
call assert_equal('wrong', c1 . c2 . c3 . c4 . c5)
|
||||
endfunc
|
||||
|
||||
func Test_mkdir_p()
|
||||
call mkdir('Xmkdir/nested', 'p')
|
||||
call assert_true(isdirectory('Xmkdir/nested'))
|
||||
try
|
||||
" Trying to make existing directories doesn't error
|
||||
call mkdir('Xmkdir', 'p')
|
||||
call mkdir('Xmkdir/nested', 'p')
|
||||
catch /E739:/
|
||||
call assert_report('mkdir(..., "p") failed for an existing directory')
|
||||
endtry
|
||||
" 'p' doesn't suppress real errors
|
||||
call writefile([], 'Xfile')
|
||||
call assert_fails('call mkdir("Xfile", "p")', 'E739')
|
||||
call delete('Xfile')
|
||||
call delete('Xmkdir', 'rf')
|
||||
endfunc
|
||||
|
||||
Reference in New Issue
Block a user