packages feed

primus-0.1.0.0: test/Main.hs

module Main where

import System.Environment
import Test.Tasty
import qualified TestAsMaybe
import qualified TestBool
import qualified TestEnum
import qualified TestExtra
import qualified TestFold
import qualified TestLRHist
import qualified TestList
import qualified TestNonEmpty
import qualified TestNum1
import qualified TestZipNonEmpty

main :: IO ()
main = do
  xs <- getArgs
  let x1 = [TestLRHist.suiteCheckers, TestZipNonEmpty.suiteCheckers]
  (os, zs) <- case xs of
    "0" : os -> putStrLn "NORMAL (Explicit)" >> return (os, mempty)
    "1" : os -> putStrLn "VERBOSE" >> return (os, x1)
    "2" : os -> putStrLn "EXTRA VERBOSE" >> return (os, x1)
    os -> putStrLn "NORMAL" >> return (os, [])
  withArgs os $
    defaultMain $
      testGroup
        "alltests"
        ( [ TestAsMaybe.suite
          , TestBool.suite
          , TestEnum.suite
          , TestExtra.suite
          , TestFold.suite
          , TestList.suite
          , TestLRHist.suite
          , TestNonEmpty.suite
          , TestNum1.suite
--          , TestZipNonEmpty.suite
          ]
            ++ zs
        )