-- | Parser for test arguments.
testOptsParser :: Parser TestOpts
testOptsParser = TestOpts
       <$> boolFlags True
                     "rerun-tests"
                     "running already successful tests"
                     idm
       <*> fmap (fromMaybe [])
                (optional (argsOption(long "test-arguments" <>
                                      metavar "TEST_ARGS" <>
                                      help "Arguments passed in to the test suite program")))
      <*> switch (long "coverage" <>
                 help "Generate a code coverage report")
      <*> switch (long "no-run-tests" <>
                 help "Disable running of tests. (Tests will still be built.)")
testOptsParser :: Parser TestOpts
testOptsParser = TestOpts
       <$> boolFlags True
                     "rerun-tests"
                     "running already successful tests"
                     idm
       <*> fmap (fromMaybe [])
                (optional (argsOption(long "test-arguments" <>
                                      metavar "TEST_ARGS" <>
                                      help "Arguments passed in to the test suite program")))
      <*> switch (long "coverage" <>
                 help "Generate a code coverage report")
      <*> switch (long "no-run-tests" <>
                 help "Disable running of tests. (Tests will still be built.)")
testOptsParser = TestOpts
       <$> boolFlags True
                     "rerun-tests"
                     "running already successful tests"
                     idm
       <*> fmap (fromMaybe [])
                (optional (argsOption(long "test-arguments" <>
                                      metavar "TEST_ARGS" <>
                                      help "Arguments passed in to the test suite program")))
      <*> switch (long "coverage" <>
                 help "Generate a code coverage report")
      <*> switch (long "no-run-tests" <>
                 help "Disable running of tests. (Tests will still be built.)")