summaryrefslogtreecommitdiff
path: root/src/Run.hs
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2025-04-15 21:59:08 +0200
committerRoman Smrž <roman.smrz@seznam.cz>2025-04-15 22:03:52 +0200
commitf0eed671c65a31eeb34ece14547bea79eb753728 (patch)
treea4428aed04cf8b18476dc580c56dcf2a11b7f21f /src/Run.hs
parentb493a9be142e15ebd1cb32c61b0fd2ac39b703c3 (diff)
Parametrize test block with return type
Diffstat (limited to 'src/Run.hs')
-rw-r--r--src/Run.hs5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/Run.hs b/src/Run.hs
index 66a097e..ed91936 100644
--- a/src/Run.hs
+++ b/src/Run.hs
@@ -111,8 +111,9 @@ evalGlobalDefs :: [ (( ModuleName, VarName ), SomeExpr ) ] -> GlobalDefs
evalGlobalDefs exprs = fix $ \gdefs ->
builtins `M.union` M.fromList (map (fmap (evalSomeWith gdefs)) exprs)
-evalBlock :: TestBlock -> TestRun ()
-evalBlock (TestBlock steps) = forM_ steps $ \case
+evalBlock :: TestBlock () -> TestRun ()
+evalBlock EmptyTestBlock = return ()
+evalBlock (TestBlockStep prev step) = evalBlock prev >> case step of
Subnet name parent inner -> do
withSubnet parent (Just name) $ evalBlock . inner