git-annex/Command/Test.hs

40 lines
1 KiB
Haskell

{- git-annex command
-
- Copyright 2013 Joey Hess <id@joeyh.name>
-
- Licensed under the GNU GPL version 3 or higher.
-}
module Command.Test where
import Common
import Command
import Messages
cmd :: Command
cmd = noRepo (parseparams startIO) $ dontCheck repoExists $
command "test" SectionTesting
"run built-in test suite"
paramNothing (parseparams seek)
where
parseparams = withParams
seek :: CmdParams -> CommandSeek
seek = withWords start
{- We don't actually run the test suite here because of a dependency loop.
- The main program notices when the command is test and runs it; this
- function is never run if that works.
-
- However, if git-annex is built without the test suite, just print a
- warning, and do not exit nonzero. This is so git-annex test can be run
- in debian/rules despite some architectures not being able to build the
- test suite.
-}
start :: [String] -> CommandStart
start ps = do
liftIO $ startIO ps
stop
startIO :: CmdParams -> IO ()
startIO _ = warningIO "git-annex was built without its test suite; not testing"