diff options
Diffstat (limited to 'Utility/SubTasty.hs')
-rw-r--r-- | Utility/SubTasty.hs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Utility/SubTasty.hs b/Utility/SubTasty.hs new file mode 100644 index 000000000..5164f9d1b --- /dev/null +++ b/Utility/SubTasty.hs @@ -0,0 +1,25 @@ +{- Running tasty as a subcommand. + - + - Copyright 2015 Joey Hess <id@joeyh.name> + - + - License: BSD-2-clause + -} + +module Utility.SubTasty where + +import Test.Tasty +import Test.Tasty.Options +import Test.Tasty.Runners +import Options.Applicative + +-- Uses tasty's option parser, modified to expect a subcommand. +parseOpts :: String -> [Ingredient] -> TestTree -> [String] -> IO OptionSet +parseOpts subcommand is ts = + handleParseResult . execParserPure (prefs idm) pinfo + where + pinfo = info (helper <*> subpinfo) (fullDesc <> header desc) + subpinfo = subparser $ command subcommand $ + suiteOptionParser is ts + `info` + progDesc desc + desc = "Builtin test suite" |