summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2023-08-24 21:55:06 +0200
committerRoman Smrž <roman.smrz@seznam.cz>2023-08-24 21:55:06 +0200
commitff5c3f5a91e249694f3b76109027cf9d0c717a7c (patch)
tree28cbf5a869066aae0f4915ad904a8d5b6d08bdc8
parent66a8467a29a8850871606955211376178f691401 (diff)
Option to wait at the end of each test
Changelog: Add --wait option to wait at the end of each test
-rw-r--r--src/Main.hs3
-rw-r--r--src/Run.hs5
-rw-r--r--src/Run/Monad.hs2
3 files changed, 9 insertions, 1 deletions
diff --git a/src/Main.hs b/src/Main.hs
index 4e6176f..20b3da2 100644
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -64,6 +64,9 @@ options =
, Option ['V'] ["version"]
(NoArg $ \opts -> opts { optShowVersion = True })
"show version and exit"
+ , Option [] ["wait"]
+ (NoArg $ to $ \opts -> opts { optWait = True })
+ "wait at the end of each test"
]
where
to f opts = opts { optTest = f (optTest opts) }
diff --git a/src/Run.hs b/src/Run.hs
index 26cc34f..04fa9ee 100644
--- a/src/Run.hs
+++ b/src/Run.hs
@@ -83,7 +83,10 @@ runTest out opts test = do
oldHandler <- installHandler processStatusChanged (CatchInfo sigHandler) Nothing
res <- runExceptT $ flip runReaderT (tenv, tstate) $ fromTestRun $ do
- withInternet $ \_ -> evalSteps (testSteps test)
+ withInternet $ \_ -> do
+ evalSteps (testSteps test)
+ when (optWait opts) $ do
+ void $ outPromptGetLine $ "Test '" <> testName test <> "' completed, waiting..."
void $ installHandler processStatusChanged oldHandler Nothing
diff --git a/src/Run/Monad.hs b/src/Run/Monad.hs
index 037f585..9ec9065 100644
--- a/src/Run/Monad.hs
+++ b/src/Run/Monad.hs
@@ -54,6 +54,7 @@ data TestOptions = TestOptions
, optGDB :: Bool
, optForce :: Bool
, optKeep :: Bool
+ , optWait :: Bool
}
defaultTestOptions :: TestOptions
@@ -65,6 +66,7 @@ defaultTestOptions = TestOptions
, optGDB = False
, optForce = False
, optKeep = False
+ , optWait = False
}
data Failed = Failed