Rewrote free disk space checking code

Moving the portability handling into a small C library cleans up things
a lot, avoiding the pain of unpacking structs from inside haskell code.
This commit is contained in:
Joey Hess 2012-03-22 17:09:54 -04:00
parent f1398b5583
commit e38a839a80
13 changed files with 124 additions and 237 deletions

View file

@ -10,12 +10,8 @@ import Control.Applicative
import Build.TestConfig
import Utility.SafeCommand
tests :: Bool -> [TestCase]
tests True = cabaltests ++ common
tests False = common
common :: [TestCase]
common =
tests :: [TestCase]
tests =
[ TestCase "version" getVersion
, TestCase "git" $ requireCmd "git" "git --version >/dev/null"
, TestCase "git version" getGitVersion
@ -32,11 +28,6 @@ common =
, TestCase "ssh connection caching" getSshConnectionCaching
] ++ shaTestCases [1, 256, 512, 224, 384]
cabaltests :: [TestCase]
cabaltests =
[ TestCase "StatFS" testStatFSDummy
]
shaTestCases :: [Int] -> [TestCase]
shaTestCases l = map make l
where make n =
@ -81,10 +72,6 @@ getSshConnectionCaching :: Test
getSshConnectionCaching = Config "sshconnectioncaching" . BoolConfig <$>
boolSystem "sh" [Param "-c", Param "ssh -o ControlPersist=yes -V >/dev/null 2>/dev/null"]
testStatFSDummy :: Test
testStatFSDummy =
return $ Config "statfs_sanity_checked" $ MaybeBoolConfig Nothing
{- Set up cabal file with version. -}
cabalSetup :: IO ()
cabalSetup = do