diff options
author | Łukasz Hanuszczak <lukasz.hanuszczak@gmail.com> | 2015-08-24 23:09:20 +0200 |
---|---|---|
committer | Łukasz Hanuszczak <lukasz.hanuszczak@gmail.com> | 2015-08-24 23:09:20 +0200 |
commit | 136c48c5fe074ac8a2755c4705d555de24e22a3a (patch) | |
tree | d218525bf8d05d0fa6197c141d2e8eda1830bc7f | |
parent | 27d5cba94e827e10c9f5b02b162f6b13cd8cbea1 (diff) |
Fix bug with accepting to non-existing directory.
-rw-r--r-- | haddock-test/src/Test/Haddock.hs | 2 | ||||
-rw-r--r-- | haddock-test/src/Test/Haddock/Utils.hs | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/haddock-test/src/Test/Haddock.hs b/haddock-test/src/Test/Haddock.hs index 87c16739..e8a0ac8e 100644 --- a/haddock-test/src/Test/Haddock.hs +++ b/haddock-test/src/Test/Haddock.hs @@ -132,7 +132,7 @@ diffFile cfg diff file = do maybeAcceptFile :: Config c -> FilePath -> CheckResult -> IO CheckResult maybeAcceptFile cfg@(Config { cfgDirConfig = dcfg }) file result | cfgAccept cfg && result `elem` [NoRef, Fail] = do - copyFile (outFile dcfg file) (refFile dcfg file) + copyFile' (outFile dcfg file) (refFile dcfg file) pure Accepted maybeAcceptFile _ _ result = pure result diff --git a/haddock-test/src/Test/Haddock/Utils.hs b/haddock-test/src/Test/Haddock/Utils.hs index 4f97fa72..a947fea1 100644 --- a/haddock-test/src/Test/Haddock/Utils.hs +++ b/haddock-test/src/Test/Haddock/Utils.hs @@ -41,3 +41,10 @@ createEmptyDirectory :: FilePath -> IO () createEmptyDirectory path = do whenM (doesDirectoryExist path) $ removeDirectoryRecursive path createDirectory path + + +-- | Just like 'copyFile' but output directory path is not required to exist. +copyFile' :: FilePath -> FilePath -> IO () +copyFile' old new = do + createDirectoryIfMissing True $ takeDirectory new + copyFile old new |