summaryrefslogtreecommitdiff
path: root/src/Main.hs
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2025-02-09 21:59:12 +0100
committerRoman Smrž <roman.smrz@seznam.cz>2025-02-11 20:49:15 +0100
commitd67825ea3f441523e2814b831d397d95c0dc46a4 (patch)
tree0224df35bdfa6acaca2587b86e3921bf60ffccf4 /src/Main.hs
parent7cebff0d30b628e4a7d32feff83a767c126e32e7 (diff)
Provide imported definitions at run-timeHEADmaster
Diffstat (limited to 'src/Main.hs')
-rw-r--r--src/Main.hs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/Main.hs b/src/Main.hs
index 73d8c02..1f15e68 100644
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -2,8 +2,9 @@ module Main (main) where
import Control.Monad
+import Data.Bifunctor
import Data.Maybe
-import qualified Data.Text as T
+import Data.Text qualified as T
import Text.Read (readMaybe)
@@ -148,13 +149,14 @@ main = do
Nothing -> queryTerminal (Fd 1)
out <- startOutput (optVerbose opts) useColor
- modules <- parseTestFiles $ map fst files
+ ( modules, allModules ) <- parseTestFiles $ map fst files
tests <- forM (zip modules $ map snd files) $ \( Module {..}, mbTestName ) -> do
- return $ map ( , moduleDefinitions ) $ case mbTestName of
+ return $ map ( , map (first LocalVarName) moduleDefinitions ) $ case mbTestName of
Nothing -> moduleTests
Just name -> filter ((==name) . testName) moduleTests
+ let globalDefs = concatMap (map snd . moduleExportedDefinitions) allModules
- ok <- allM (uncurry $ runTest out $ optTest opts) $
+ ok <- allM (\( test, defs ) -> runTest out (optTest opts) test (defs ++ globalDefs)) $
concat $ replicate (optRepeat opts) $ concat tests
when (not ok) exitFailure