cabal-install-3.14.1.1: tests/UnitTests/Options.hs
module UnitTests.Options
( OptionShowSolverLog (..)
, OptionMtimeChangeDelay (..)
, RunNetworkTests (..)
, extraOptions
)
where
import Data.Proxy
import Test.Tasty.Options
{-------------------------------------------------------------------------------
Test options
-------------------------------------------------------------------------------}
extraOptions :: [OptionDescription]
extraOptions =
[ Option (Proxy :: Proxy OptionShowSolverLog)
, Option (Proxy :: Proxy OptionMtimeChangeDelay)
, Option (Proxy :: Proxy RunNetworkTests)
]
newtype OptionShowSolverLog = OptionShowSolverLog Bool
instance IsOption OptionShowSolverLog where
defaultValue = OptionShowSolverLog False
parseValue = fmap OptionShowSolverLog . safeReadBool
optionName = return "show-solver-log"
optionHelp = return "Show full log from the solver"
optionCLParser = flagCLParser Nothing (OptionShowSolverLog True)
newtype OptionMtimeChangeDelay = OptionMtimeChangeDelay Int
instance IsOption OptionMtimeChangeDelay where
defaultValue = OptionMtimeChangeDelay 0
parseValue = fmap OptionMtimeChangeDelay . safeRead
optionName = return "mtime-change-delay"
optionHelp =
return $
"How long to wait before attempting to detect"
++ "file modification, in microseconds"
newtype RunNetworkTests = RunNetworkTests Bool
instance IsOption RunNetworkTests where
defaultValue = RunNetworkTests True
parseValue = fmap RunNetworkTests . safeReadBool
optionName = return "run-network-tests"
optionHelp = return "Run tests that need network access (default true)."