From f57ff5611c28e42df9e419da3c9af166cd4c3570 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Sat, 23 May 2026 10:18:14 +0200 Subject: Evaluate test tag expressions --- src/Run.hs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/Run.hs') diff --git a/src/Run.hs b/src/Run.hs index b8ab186..d8251a2 100644 --- a/src/Run.hs +++ b/src/Run.hs @@ -142,7 +142,7 @@ runTest out opts gdefs test = do return False -loadModules :: [ FilePath ] -> IO ( [ Module ], GlobalDefs ) +loadModules :: [ FilePath ] -> IO ( [ Module ], [ ( ( ModuleName, Text ), [ Tag ] ) ], GlobalDefs ) loadModules files = do ( modules, allModules ) <- parseTestFiles files >>= \case Right res -> do @@ -155,7 +155,9 @@ loadModules files = do putStrLn (showErrorComponent err) exitFailure let globalDefs = evalGlobalDefs $ concatMap (\m -> map (first ( moduleName m, )) $ moduleDefinitions m) allModules - return ( modules, globalDefs ) + evalTags test = map (\e -> runSimpleEval (eval e) globalDefs []) $ testTags test + tags = concatMap (\Module {..} -> map (\test -> ( ( moduleName, testName test ), evalTags test )) moduleTests) modules + return ( modules, tags, globalDefs ) evalGlobalDefs :: [ (( ModuleName, VarName ), SomeExpr ) ] -> GlobalDefs -- cgit v1.2.3