diff options
author | Roman Smrž <roman.smrz@seznam.cz> | 2025-02-09 21:59:12 +0100 |
---|---|---|
committer | Roman Smrž <roman.smrz@seznam.cz> | 2025-02-11 20:49:15 +0100 |
commit | d67825ea3f441523e2814b831d397d95c0dc46a4 (patch) | |
tree | 0224df35bdfa6acaca2587b86e3921bf60ffccf4 /src/Main.hs | |
parent | 7cebff0d30b628e4a7d32feff83a767c126e32e7 (diff) |
Diffstat (limited to 'src/Main.hs')
-rw-r--r-- | src/Main.hs | 10 |
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 |