summaryrefslogtreecommitdiff
path: root/testsuite/tests/driver/T4114cSub.hs
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/driver/T4114cSub.hs')
-rw-r--r--testsuite/tests/driver/T4114cSub.hs20
1 files changed, 20 insertions, 0 deletions
diff --git a/testsuite/tests/driver/T4114cSub.hs b/testsuite/tests/driver/T4114cSub.hs
new file mode 100644
index 0000000000..3ecd0c9dc2
--- /dev/null
+++ b/testsuite/tests/driver/T4114cSub.hs
@@ -0,0 +1,20 @@
+module T4114cSub (assertKeep, assertNoKeep) where
+
+import Control.Monad (unless, when)
+import System.Directory (doesFileExist)
+
+assertNoKeep :: FilePath -> IO ()
+assertNoKeep a =
+ whenM (doesFileExist a) $
+ error ("error: intermediate '" ++ a ++ "' exists")
+
+assertKeep :: FilePath -> IO ()
+assertKeep a =
+ unlessM (doesFileExist a) $
+ error ("error: intermediate '" ++ a ++ "' is missing")
+
+whenM :: Monad m => m Bool -> m () -> m ()
+whenM mp f = mp >>= \p -> when p f
+
+unlessM :: Monad m => m Bool -> m () -> m ()
+unlessM mp f = mp >>= \p -> unless p f