diff options
| author | Roman Smrž <roman.smrz@seznam.cz> | 2026-05-23 10:18:14 +0200 |
|---|---|---|
| committer | Roman Smrž <roman.smrz@seznam.cz> | 2026-05-23 10:18:14 +0200 |
| commit | f57ff5611c28e42df9e419da3c9af166cd4c3570 (patch) | |
| tree | 0cd5850570b093cb0b20fd4074d4b802c502d426 /src/Run.hs | |
| parent | 29a9f747993663bf24877ceaa8cd2f3a03e9a538 (diff) | |
Evaluate test tag expressions
Diffstat (limited to 'src/Run.hs')
| -rw-r--r-- | src/Run.hs | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -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 |