packages feed

hylolib-1.3.1: 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.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.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