test-framework-0.1: Test/Framework/Runners/Options.hs
module Test.Framework.Runners.Options where
import Test.Framework.Options
import Test.Framework.Utilities
import Test.Framework.Runners.TestPattern
import Data.Monoid
type RunnerOptions = RunnerOptions' Maybe
type CompleteRunnerOptions = RunnerOptions' K
data RunnerOptions' f = RunnerOptions {
ropt_threads :: f Int,
ropt_test_options :: f TestOptions,
ropt_test_patterns :: f [TestPattern]
}
instance Monoid (RunnerOptions' Maybe) where
mempty = RunnerOptions {
ropt_threads = Nothing,
ropt_test_options = Nothing,
ropt_test_patterns = Nothing
}
mappend ro1 ro2 = RunnerOptions {
ropt_threads = getLast (mappendBy (Last . ropt_threads) ro1 ro2),
ropt_test_options = mappendBy ropt_test_options ro1 ro2,
ropt_test_patterns = mappendBy ropt_test_patterns ro1 ro2
}