From dd26df5b328e5e5e6f4b3d59c518537e19b85e20 Mon Sep 17 00:00:00 2001 From: Denis Shevchenko Date: Mon, 17 Jan 2022 18:38:18 +0400 Subject: [PATCH] tmp tests --- .../test/Cardano/Tracer/Test/Utils.hs | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/cardano-tracer/test/Cardano/Tracer/Test/Utils.hs b/cardano-tracer/test/Cardano/Tracer/Test/Utils.hs index a767cb149eb..e9969b0aaea 100644 --- a/cardano-tracer/test/Cardano/Tracer/Test/Utils.hs +++ b/cardano-tracer/test/Cardano/Tracer/Test/Utils.hs @@ -7,10 +7,11 @@ module Cardano.Tracer.Test.Utils ) where import Control.Exception (finally) -import System.Directory.Extra (getTemporaryDirectory, - listDirectories, removeFile, removePathForcibly) +import Control.Monad.Extra (whenM) +import System.Directory.Extra (doesFileExist, listDirectories, + removeFile, removePathForcibly) import System.FilePath (dropDrive) -import System.IO.Extra (newTempDirWithin, newTempFileWithin) +import System.IO.Extra (newTempDir, newTempFile) import System.Info.Extra (isWindows) import Test.Tasty.QuickCheck @@ -21,25 +22,25 @@ propRunInLogsStructure :: (FilePath -> FilePath -> IO Property) -> Property propRunInLogsStructure testAction = ioProperty $ do - tmpDir <- getTemporaryDirectory - (rootDir, deleteDir) <- newTempDirWithin tmpDir - (localSock, _) <- newTempFileWithin tmpDir + (rootDir, deleteDir) <- newTempDir + (localSock, _) <- newTempFile let preparedLocalSock = if isWindows then forWindows localSock else localSock testAction rootDir preparedLocalSock - `finally` (removeFile preparedLocalSock >> deleteDir) + `finally` (removeFile' preparedLocalSock >> deleteDir) propRunInLogsStructure2 :: (FilePath -> FilePath -> FilePath -> IO Property) -> Property propRunInLogsStructure2 testAction = ioProperty $ do - tmpDir <- getTemporaryDirectory - (rootDir, deleteDir) <- newTempDirWithin tmpDir - (localSock1, _) <- newTempFileWithin tmpDir - (localSock2, _) <- newTempFileWithin tmpDir + (rootDir, deleteDir) <- newTempDir + (localSock1, _) <- newTempFile + (localSock2, _) <- newTempFile let preparedLocalSock1 = if isWindows then forWindows localSock1 else localSock1 preparedLocalSock2 = if isWindows then forWindows localSock2 else localSock2 testAction rootDir preparedLocalSock1 preparedLocalSock2 - `finally` (removeFile preparedLocalSock1 >> removeFile preparedLocalSock2 >> deleteDir) + `finally` ( removeFile' preparedLocalSock1 + >> removeFile' preparedLocalSock2 + >> deleteDir) forWindows :: FilePath -> FilePath forWindows localSock = "\\\\.\\pipe\\" <> dropDrive localSock @@ -47,5 +48,8 @@ forWindows localSock = "\\\\.\\pipe\\" <> dropDrive localSock removeDirectoryContent :: FilePath -> IO () removeDirectoryContent dir = listDirectories dir >>= mapM_ removePathForcibly +removeFile' :: FilePath -> IO () +removeFile' f = whenM (doesFileExist f) $ removeFile f + doesDirectoryEmpty :: FilePath -> IO Bool doesDirectoryEmpty = fmap null . listDirectories