From a7c646b2d61b1e23eb44b608b843f2673acaa5bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Wed, 27 May 2026 20:40:06 +0200 Subject: Options to select and exclude tests in config file --- src/Config.hs | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/Config.hs') diff --git a/src/Config.hs b/src/Config.hs index adf0321..af2161a 100644 --- a/src/Config.hs +++ b/src/Config.hs @@ -9,6 +9,7 @@ import Control.Monad.Combinators import Data.ByteString.Lazy qualified as BS import Data.Scientific +import Data.Text (Text) import Data.Text qualified as T import Data.YAML @@ -21,6 +22,8 @@ data Config = Config { configDir :: FilePath , configTool :: Maybe FilePath , configTests :: [ Pattern ] + , configSelect :: Maybe [ Text ] + , configExclude :: [ Text ] , configTimeout :: Maybe Scientific } deriving (Show) @@ -33,6 +36,14 @@ instance FromYAML (FilePath -> Config) where , m .:? "tests" .!= [] -- list of patterns ] ) + configSelect <- foldr1 (<|>) + [ fmap (Just . (: [])) (m .: "select") -- single item + , m .:? "select" -- list of items + ] + configExclude <- foldr1 (<|>) + [ fmap (: []) (m .: "exclude") -- single item + , m .:? "exclude" .!= [] -- list of items + ] configTimeout <- fmap fromNumber <$> m .:! "timeout" return $ \configDir -> Config {..} -- cgit v1.2.3