Fix bug in createDirRecursive with trailing path separators

Cette révision appartient à :
Julian Ospald 2020-02-17 18:50:08 +01:00
Parent 23f4221fe1
révision ec9884276c
4 fichiers modifiés avec 12 ajouts et 3 suppressions

Voir le fichier

@ -1,5 +1,9 @@
# Revision history for hpath-directory
## 0.13.2 -- 2020-02-17
* Fix bug in `createDirRecursive` with trailing path separators
## 0.13.1 -- 2020-01-29
* Split some functionality out into 'hpath-posix'

Voir le fichier

@ -1,7 +1,7 @@
cabal-version: >=1.10
name: hpath-directory
version: 0.13.1
version: 0.13.2
synopsis: Alternative to 'directory' package with ByteString based filepaths
description: This provides a safer alternative to the 'directory'
package. FilePaths are ByteString based, so this

Voir le fichier

@ -742,8 +742,8 @@ createDirRecursive fm p = go p
| en == eEXIST
-> unlessM (doesDirectoryExist dest) (ioError e)
| en == eNOENT
-> createDirRecursive fm (takeDirectory dest)
>> createDirectory dest fm
-> go (takeDirectory $ dropTrailingPathSeparator dest)
>> createDir fm dest
| otherwise
-> ioError e

Voir le fichier

@ -49,6 +49,11 @@ spec = beforeAll_ (upTmpDir >> setupFiles) $ afterAll_ cleanupFiles $
createDirRecursive' "newDir"
deleteDir' "newDir"
it "createDirRecursive with trailing path separator, all fine" $ do
createDirRecursive' "newDir/foo/"
deleteDir' "newDir/foo"
deleteDir' "newDir"
it "createDirRecursive, parent directories do not exist" $ do
createDirRecursive' "some/thing/dada"
deleteDir' "some/thing/dada"