730cc3feb5
This makes bash completion work for git-annex test, and is generally cleaner.
32 lines
876 B
Haskell
32 lines
876 B
Haskell
{- git-annex command
|
|
-
|
|
- Copyright 2013-2015 Joey Hess <id@joeyh.name>
|
|
-
|
|
- Licensed under the GNU GPL version 3 or higher.
|
|
-}
|
|
|
|
module Command.Test where
|
|
|
|
import Common
|
|
import Command
|
|
import Messages
|
|
import Types.Test
|
|
|
|
cmd :: Parser TestOptions -> Maybe TestRunner -> Command
|
|
cmd optparser runner = noRepo (startIO runner <$$> const optparser) $
|
|
dontCheck repoExists $
|
|
command "test" SectionTesting
|
|
"run built-in test suite"
|
|
paramNothing (seek runner <$$> const optparser)
|
|
|
|
seek :: Maybe TestRunner -> TestOptions -> CommandSeek
|
|
seek runner o = commandAction $ start runner o
|
|
|
|
start :: Maybe TestRunner -> TestOptions -> CommandStart
|
|
start runner o = do
|
|
liftIO $ startIO runner o
|
|
stop
|
|
|
|
startIO :: Maybe TestRunner -> TestOptions -> IO ()
|
|
startIO Nothing _ = warningIO "git-annex was built without its test suite; not testing"
|
|
startIO (Just runner) o = runner o
|