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
 |