hakaru-0.3.0: haskell/Tests/TestSuite.hs
-- module Tests.TestSuite(main) where
import System.Exit (exitFailure)
import System.Environment (lookupEnv)
import qualified Tests.Parser as P
import qualified Tests.TypeCheck as TC
import qualified Tests.Simplify as S
import qualified Tests.Disintegrate as D
import qualified Tests.Sample as E
import qualified Tests.RoundTrip as RT
import Test.HUnit
-- master test suite
ignored :: Assertion
ignored = putStrLn "Warning: maple tests will be ignored"
simplifyTests :: Test -> Maybe String -> Test
simplifyTests t env =
case env of
Just _ -> t
Nothing -> test ignored
allTests :: Maybe String -> Test
allTests env = test
[ TestLabel "Parser" P.allTests
, TestLabel "TypeCheck" TC.allTests
, TestLabel "Simplify" (simplifyTests S.allTests env)
, TestLabel "Disintegrate" D.allTests
, TestLabel "Evaluate" E.allTests
, TestLabel "RoundTrip" (simplifyTests RT.allTests env)
]
main :: IO ()
main = do
env <- lookupEnv "LOCAL_MAPLE"
Counts _ _ e f <- runTestTT (allTests env)
if (e>0) || (f>0) then exitFailure else return ()