mirror of
https://github.com/barrucadu/dejafu.git
synced 2024-12-18 19:11:37 +03:00
19 lines
643 B
Haskell
19 lines
643 B
Haskell
|
module Main (main) where
|
||
|
|
||
|
import Tests.Cases
|
||
|
import Tests.Utils
|
||
|
import System.Exit (exitFailure, exitSuccess)
|
||
|
|
||
|
main :: IO ()
|
||
|
main = do
|
||
|
results <- mapM (runTest True) testCases
|
||
|
if and results then exitSuccess else exitFailure
|
||
|
|
||
|
runTest :: Bool -> Test -> IO Bool
|
||
|
runTest verbose (Test {name = name, result = result}) = do
|
||
|
res <- result
|
||
|
case res of
|
||
|
Pass -> (if verbose then putStrLn ("\27[32m[pass]\27[0m " ++ name) else return ()) >> return True
|
||
|
Fail str -> putStrLn ("\27[31m[fail]\27[0m " ++ name ++ ": " ++ str) >> return False
|
||
|
Error str -> putStrLn ("\27[35m[error]\27[0m " ++ name ++ ": " ++ str) >> return False
|