1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
{- git-annex test data types.
-
- Copyright 2011-2017 Joey Hess <id@joeyh.name>
-
- Licensed under the GNU GPL version 3 or higher.
-}
{-# LANGUAGE CPP #-}
module Types.Test where
import Test.Tasty.Options
import Data.Monoid
import qualified Data.Semigroup as Sem
import Prelude
import Types.Command
data TestOptions = TestOptions
{ tastyOptionSet :: OptionSet
, keepFailuresOption :: Bool
, fakeSsh :: Bool
, internalData :: CmdParams
}
instance Sem.Semigroup TestOptions where
a <> b = TestOptions
(tastyOptionSet a <> tastyOptionSet b)
(keepFailuresOption a || keepFailuresOption b)
(fakeSsh a || fakeSsh b)
(internalData a <> internalData b)
instance Monoid TestOptions where
mempty = TestOptions mempty False False mempty
#if ! MIN_VERSION_base(4,11,0)
mappend = (Sem.<>)
#endif
type TestRunner = TestOptions -> IO ()
|