forked from commercialhaskell/stack
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTestParser.hs
More file actions
44 lines (42 loc) · 1.54 KB
/
TestParser.hs
File metadata and controls
44 lines (42 loc) · 1.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{-# LANGUAGE NoImplicitPrelude #-}
module Stack.Options.TestParser 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))
where hide = hideMods hide0