summaryrefslogtreecommitdiff
path: root/testsuite/tests/lib/System/system001.hs
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/lib/System/system001.hs')
-rw-r--r--testsuite/tests/lib/System/system001.hs14
1 files changed, 14 insertions, 0 deletions
diff --git a/testsuite/tests/lib/System/system001.hs b/testsuite/tests/lib/System/system001.hs
new file mode 100644
index 0000000000..4237d526af
--- /dev/null
+++ b/testsuite/tests/lib/System/system001.hs
@@ -0,0 +1,14 @@
+-- Not run on mingw, because of /dev/null use
+
+import System.Cmd (system)
+import System.Exit (ExitCode(..), exitWith)
+
+main =
+ system "cat dog 1>/dev/null 2>&1" >>= \ ec ->
+ case ec of
+ ExitSuccess -> putStr "What?!?\n" >> ioError (userError "dog succeeded")
+ ExitFailure _ ->
+ system "cat system001.hs 2>/dev/null" >>= \ ec ->
+ case ec of
+ ExitSuccess -> exitWith ExitSuccess
+ ExitFailure _ -> putStr "What?!?\n" >> ioError (userError "cat failed")