never executed always true always false
    1 module Main where
    2 
    3 -- conjure tests
    4 import Conjure.Prelude
    5 import Conjure.Language.Type ( TypeCheckerMode(..) )
    6 import qualified Conjure.Language.DomainSizeTest ( tests )
    7 import qualified Conjure.RepresentationsTest ( tests )
    8 import qualified Conjure.ModelAllSolveAll ( tests, TestTimeLimit(..) )
    9 import qualified Conjure.TypeCheckAll ( tests )
   10 import qualified Conjure.ParsePrint ( tests )
   11 import qualified Conjure.ParserFuzz ( tests )
   12 import qualified Conjure.Custom ( tests )
   13 
   14 -- tasty
   15 import Test.Tasty ( defaultMainWithIngredients, defaultIngredients, includingOptions, askOption, testGroup )
   16 import Test.Tasty.Options ( OptionDescription(..) )
   17 
   18 -- tasty-ant-xml
   19 import Test.Tasty.Runners.AntXML ( antXMLRunner )
   20 
   21 
   22 main :: IO ()
   23 main = do
   24     let ?typeCheckerMode = StronglyTyped
   25     modelAllSolveAllTests <- Conjure.ModelAllSolveAll.tests
   26     typeCheckAllTests     <- Conjure.TypeCheckAll.tests
   27     parsePrintTests       <- Conjure.ParsePrint.tests
   28     parseFuzzTests        <- Conjure.ParserFuzz.tests
   29     customTests           <- Conjure.Custom.tests
   30     let ingredients = antXMLRunner
   31                     : includingOptions [Option (Proxy :: Proxy Conjure.ModelAllSolveAll.TestTimeLimit)]
   32                     : defaultIngredients
   33     defaultMainWithIngredients ingredients $ askOption $ \ testTimeLimit ->
   34         testGroup "conjure"
   35             [ Conjure.Language.DomainSizeTest.tests
   36             , Conjure.RepresentationsTest.tests
   37             , parseFuzzTests
   38             , parsePrintTests
   39             , modelAllSolveAllTests testTimeLimit
   40             , typeCheckAllTests
   41             , customTests testTimeLimit
   42             ]