packages feed

cfg-0.0.2.0: test/Main.hs

module Main where

import Data.Maybe (fromMaybe)
import Spec qualified
import System.Environment (lookupEnv)
import Test.Hspec (parallel)
import Test.Hspec.Core.Runner (Config (..))
import Test.Hspec.Formatters (specdoc)
import Test.Hspec.Runner as TR (defaultConfig, hspecWith)
import Text.Read (readMaybe)

main :: IO ()
main = do
  mText <- lookupEnv "TEST_CONCURRENCY"
  let
    maxResources :: Int
    maxResources = fromMaybe 8 (mText >>= readMaybe)
  let
    cfg =
      TR.defaultConfig
        { configConcurrentJobs = Just maxResources
        , configFormatter = Just specdoc
        }
  hspecWith cfg (parallel Spec.spec)