Add IO modules, previously from HSFM

This commit is contained in:
2016-05-09 16:53:31 +02:00
parent 6638cd8cc1
commit 86a4b9ade2
132 changed files with 3261 additions and 32 deletions

53
test/Main.hs Normal file
View File

@@ -0,0 +1,53 @@
{-# LANGUAGE OverloadedStrings #-}
import Test.Hspec
import Test.Hspec.Runner
import Test.Hspec.Formatters
import qualified Spec
import Utils
-- TODO: chardev, blockdev, namedpipe, socket
main :: IO ()
main =
hspecWith
defaultConfig { configFormatter = Just progress }
$ before_ fixPermissions
$ after_ revertPermissions
$ Spec.spec >> Spec.spec
where
noWriteDirs = ["test/HPath/IO/copyFileSpec/outputDirNoWrite"
,"test/HPath/IO/copyFileOverwriteSpec/outputDirNoWrite"
,"test/HPath/IO/copyDirRecursiveSpec/noWritePerm"
,"test/HPath/IO/copyDirRecursiveOverwriteSpec/noWritePerm"
,"test/HPath/IO/createDirSpec/noWritePerms"
,"test/HPath/IO/createRegularFileSpec/noWritePerms"
,"test/HPath/IO/renameFileSpec/noWritePerm"
,"test/HPath/IO/moveFileSpec/noWritePerm"
,"test/HPath/IO/moveFileOverwriteSpec/noWritePerm"
,"test/HPath/IO/recreateSymlinkSpec/noWritePerm"
]
noPermsDirs = ["test/HPath/IO/copyFileSpec/noPerms"
,"test/HPath/IO/copyFileOverwriteSpec/noPerms"
,"test/HPath/IO/copyDirRecursiveSpec/noPerms"
,"test/HPath/IO/copyDirRecursiveOverwriteSpec/noPerms"
,"test/HPath/IO/createDirSpec/noPerms"
,"test/HPath/IO/createRegularFileSpec/noPerms"
,"test/HPath/IO/renameFileSpec/noPerms"
,"test/HPath/IO/moveFileSpec/noPerms"
,"test/HPath/IO/moveFileOverwriteSpec/noPerms"
,"test/HPath/IO/recreateSymlinkSpec/noPerms"
,"test/HPath/IO/getFileTypeSpec/noPerms"
,"test/HPath/IO/getDirsFilesSpec/noPerms"
,"test/HPath/IO/deleteFileSpec/noPerms"
]
fixPermissions = do
sequence_ $ fmap noWritableDirPerms noWriteDirs
sequence_ $ fmap noPerms noPermsDirs
revertPermissions = do
sequence_ $ fmap normalDirPerms noWriteDirs
sequence_ $ fmap normalDirPerms noPermsDirs