stack-2.9.3: src/Stack/Options/TestParser.hs
{-# LANGUAGE NoImplicitPrelude #-}
module Stack.Options.TestParser
( testOptsParser
) where
import Options.Applicative
import Options.Applicative.Args
import Options.Applicative.Builder.Extra
import Stack.Options.Utils
import Stack.Prelude
import Stack.Types.Config
-- | Parser for test arguments.
-- FIXME hide args
testOptsParser :: Bool -> Parser TestOptsMonoid
testOptsParser hide0 = TestOptsMonoid
<$> firstBoolFlagsTrue
"rerun-tests"
"running already successful tests"
hide
<*> fmap concat (many (argsOption
( long "test-arguments"
<> long "ta"
<> metavar "TEST_ARGS"
<> help "Arguments passed in to the test suite program"
<> hide
)))
<*> optionalFirstFalse (flag' True
( long "coverage"
<> help "Generate a code coverage report"
<> hide
))
<*> optionalFirstFalse (flag' True
( long "no-run-tests"
<> help "Disable running of tests. (Tests will still be built.)"
<> hide
))
<*> optionalFirst (option (fmap Just auto)
( long "test-suite-timeout"
<> help "Maximum test suite run time in seconds."
<> hide
))
<*> firstBoolFlagsTrue
"tests-allow-stdin"
"allow standard input in test executables"
hide
where
hide = hideMods hide0