os-release-0.1.0: tests/Haddock.hs
module Main (main) where
import Data.List (genericLength)
import Data.Maybe (catMaybes)
import System.Exit (exitFailure, exitSuccess)
import System.Process (readProcess)
import Text.Regex (matchRegex, mkRegex)
arguments :: [String]
arguments =
[ "haddock"
]
average :: (Fractional a, Real b) => [b] -> a
average xs = realToFrac (sum xs) / genericLength xs
expected :: Fractional a => a
expected = 0
main :: IO ()
main = do
output <- readProcess "cabal" arguments ""
if average (match output) >= expected
then exitSuccess
else putStr output >> exitFailure
match :: String -> [Int]
match = fmap read . concat . catMaybes . fmap (matchRegex pattern) . lines
where
pattern = mkRegex "^ *([0-9]*)% "