diff options
Diffstat (limited to 'testsuite/tests/driver/T4114cSub.hs')
-rw-r--r-- | testsuite/tests/driver/T4114cSub.hs | 20 |
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 |