hylolib-1.4.0: unit-tests/hylolib-testsuite.hs
module Main ( main )
where
import Control.Monad ( when )
import System.Exit ( exitFailure )
import HyLo.Test ( TestResult(OK), UnitTest, ModuleName,
stopOnError, testSuite )
import qualified HyLo.Signature ( unit_tests )
import qualified HyLo.Signature.Simple ( unit_tests )
import qualified HyLo.Formula ( unit_tests )
import qualified HyLo.Formula.Rewrite ( unit_tests )
import qualified HyLo.Model ( unit_tests )
import qualified HyLo.Model.Herbrand ( unit_tests )
all_tests :: [(ModuleName, UnitTest)]
all_tests = [
("HyLo.Signature", HyLo.Signature.unit_tests),
("HyLo.Signature.Simple", HyLo.Signature.Simple.unit_tests),
("HyLo.Formula", HyLo.Formula.unit_tests),
("HyLo.Formula.Rewrite", HyLo.Formula.Rewrite.unit_tests),
("HyLo.Model", HyLo.Model.unit_tests),
("HyLo.Model.Herbrand", HyLo.Model.Herbrand.unit_tests)
]
main :: IO ()
main = do rs <- stopOnError testSuite all_tests
when (not $ all (== OK) rs) $ do
putStrLn "Some tests did not pass!"
exitFailure