diff options
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 |