summaryrefslogtreecommitdiff
path: root/src/Run/Monad.hs
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2025-02-15 20:38:39 +0100
committerRoman Smrž <roman.smrz@seznam.cz>2025-02-24 21:43:09 +0100
commit3640256e80ba1aa1c1e022a231234dee814ace58 (patch)
tree4fa2fa9c97ceb54bcabd5136f47b70412ac0dbb4 /src/Run/Monad.hs
parent14efffc66cb60465c18c984311bde5a5502803db (diff)
Collect and evaluate global definitions together
Diffstat (limited to 'src/Run/Monad.hs')
-rw-r--r--src/Run/Monad.hs12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/Run/Monad.hs b/src/Run/Monad.hs
index a550070..3fc511a 100644
--- a/src/Run/Monad.hs
+++ b/src/Run/Monad.hs
@@ -16,9 +16,9 @@ import Control.Monad.Except
import Control.Monad.Reader
import Data.Map (Map)
-import Data.Set (Set)
import Data.Scientific
-import qualified Data.Text as T
+import Data.Set (Set)
+import Data.Text qualified as T
import {-# SOURCE #-} GDB
import Network.Ip
@@ -38,7 +38,8 @@ data TestEnv = TestEnv
}
data TestState = TestState
- { tsVars :: [ ( FqVarName, SomeVarValue ) ]
+ { tsGlobals :: GlobalDefs
+ , tsLocals :: [ ( VarName, SomeVarValue ) ]
, tsDisconnectedUp :: Set NetworkNamespace
, tsDisconnectedBridge :: Set NetworkNamespace
, tsNodePacketLoss :: Map NetworkNamespace Scientific
@@ -91,8 +92,9 @@ instance MonadError Failed TestRun where
catchError (TestRun act) handler = TestRun $ catchError act $ fromTestRun . handler
instance MonadEval TestRun where
- askDictionary = asks (tsVars . snd)
- withDictionary f = local (fmap $ \s -> s { tsVars = f (tsVars s) })
+ askGlobalDefs = asks (tsGlobals . snd)
+ askDictionary = asks (tsLocals . snd)
+ withDictionary f = local (fmap $ \s -> s { tsLocals = f (tsLocals s) })
instance MonadOutput TestRun where
getOutput = asks $ teOutput . fst