From 92cc84377d7a5af8ca7f5cdaf3f3af74bfc4857e Mon Sep 17 00:00:00 2001 From: Julian Ospald Date: Tue, 14 Apr 2020 17:16:21 +0200 Subject: [PATCH] Fix tests on mac --- hpath-directory/src/System/Posix/RawFilePath/Directory.hs | 2 +- hpath-directory/test/Main.hs | 6 +++++- .../Directory/CopyDirRecursiveCollectFailuresSpec.hs | 2 +- .../RawFilePath/Directory/CopyDirRecursiveOverwriteSpec.hs | 6 +++--- .../Posix/RawFilePath/Directory/CopyDirRecursiveSpec.hs | 2 +- .../System/Posix/RawFilePath/Directory/DeleteFileSpec.hs | 2 +- 6 files changed, 12 insertions(+), 8 deletions(-) diff --git a/hpath-directory/src/System/Posix/RawFilePath/Directory.hs b/hpath-directory/src/System/Posix/RawFilePath/Directory.hs index 152cdcc..6152db3 100644 --- a/hpath-directory/src/System/Posix/RawFilePath/Directory.hs +++ b/hpath-directory/src/System/Posix/RawFilePath/Directory.hs @@ -564,7 +564,7 @@ easyCopy from to cm rm = do -- -- Throws: -- --- - `InappropriateType` for wrong file type (directory) +-- - `InappropriateType` or `PermissionDenied` for wrong file type (directory) -- - `NoSuchThing` if the file does not exist -- - `PermissionDenied` if the directory cannot be read -- diff --git a/hpath-directory/test/Main.hs b/hpath-directory/test/Main.hs index 15a1aa2..7a71eac 100644 --- a/hpath-directory/test/Main.hs +++ b/hpath-directory/test/Main.hs @@ -8,6 +8,9 @@ import Test.Hspec.Formatters import qualified Spec import Utils import System.Posix.Temp.ByteString (mkdtemp) +import System.Posix.Env.ByteString (getEnvDefault) +import System.Posix.FilePath (()) +import "hpath-directory" System.Posix.RawFilePath.Directory -- TODO: chardev, blockdev, namedpipe, socket @@ -15,7 +18,8 @@ import System.Posix.Temp.ByteString (mkdtemp) main :: IO () main = do - tmpBase <- mkdtemp "/tmp/" + tmpdir <- getEnvDefault "TMPDIR" "/tmp" >>= canonicalizePath + tmpBase <- mkdtemp (tmpdir "hpath-directory") writeIORef baseTmpDir (Just (tmpBase `BS.append` "/")) putStrLn $ ("Temporary test directory at: " ++ show tmpBase) hspecWith diff --git a/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveCollectFailuresSpec.hs b/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveCollectFailuresSpec.hs index 295cff1..6086dd2 100644 --- a/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveCollectFailuresSpec.hs +++ b/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveCollectFailuresSpec.hs @@ -125,7 +125,7 @@ spec = beforeAll_ (upTmpDir >> setupFiles) $ afterAll_ cleanupFiles $ "outputDir" Strict CollectFailures - (system $ "diff -r --no-dereference " + (system $ "diff -r " ++ toString tmpDir' ++ "inputDir" ++ " " ++ toString tmpDir' ++ "outputDir" ++ " >/dev/null") diff --git a/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveOverwriteSpec.hs b/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveOverwriteSpec.hs index a53bff9..9a66a60 100644 --- a/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveOverwriteSpec.hs +++ b/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveOverwriteSpec.hs @@ -104,7 +104,7 @@ spec = beforeAll_ (upTmpDir >> setupFiles) $ afterAll_ cleanupFiles $ "outputDir" Overwrite FailEarly - (system $ "diff -r --no-dereference " + (system $ "diff -r " ++ toString tmpDir' ++ "inputDir" ++ " " ++ toString tmpDir' ++ "outputDir" ++ " >/dev/null") @@ -113,7 +113,7 @@ spec = beforeAll_ (upTmpDir >> setupFiles) $ afterAll_ cleanupFiles $ it "copyDirRecursive (Overwrite, FailEarly), destination dir already exists" $ do tmpDir' <- getRawTmpDir - (system $ "diff -r --no-dereference " + (system $ "diff -r " ++ toString tmpDir' ++ "inputDir" ++ " " ++ toString tmpDir' ++ "alreadyExistsD" ++ " >/dev/null") @@ -122,7 +122,7 @@ spec = beforeAll_ (upTmpDir >> setupFiles) $ afterAll_ cleanupFiles $ "alreadyExistsD" Overwrite FailEarly - (system $ "diff -r --no-dereference " + (system $ "diff -r " ++ toString tmpDir' ++ "inputDir" ++ " " ++ toString tmpDir' ++ "alreadyExistsD" ++ " >/dev/null") diff --git a/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveSpec.hs b/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveSpec.hs index 73fca0b..6ab6526 100644 --- a/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveSpec.hs +++ b/hpath-directory/test/System/Posix/RawFilePath/Directory/CopyDirRecursiveSpec.hs @@ -89,7 +89,7 @@ spec = beforeAll_ (upTmpDir >> setupFiles) $ afterAll_ cleanupFiles $ "outputDir" Strict FailEarly - (system $ "diff -r --no-dereference " + (system $ "diff -r " ++ toString tmpDir' ++ "inputDir" ++ " " ++ toString tmpDir' ++ "outputDir" ++ " >/dev/null") diff --git a/hpath-directory/test/System/Posix/RawFilePath/Directory/DeleteFileSpec.hs b/hpath-directory/test/System/Posix/RawFilePath/Directory/DeleteFileSpec.hs index c6aee98..0a15e71 100644 --- a/hpath-directory/test/System/Posix/RawFilePath/Directory/DeleteFileSpec.hs +++ b/hpath-directory/test/System/Posix/RawFilePath/Directory/DeleteFileSpec.hs @@ -70,7 +70,7 @@ spec = beforeAll_ (upTmpDir >> setupFiles) $ afterAll_ cleanupFiles $ it "deleteFile, wrong file type (directory)" $ deleteFile' "dir" `shouldThrow` - (\e -> ioeGetErrorType e == InappropriateType) + (\e -> ioeGetErrorType e == InappropriateType || ioeGetErrorType e == PermissionDenied) it "deleteFile, file does not exist" $ deleteFile' "doesNotExist"