summaryrefslogtreecommitdiff
path: root/testsuite/tests/lib/IO/openFile007.hs
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/lib/IO/openFile007.hs')
-rw-r--r--testsuite/tests/lib/IO/openFile007.hs18
1 files changed, 18 insertions, 0 deletions
diff --git a/testsuite/tests/lib/IO/openFile007.hs b/testsuite/tests/lib/IO/openFile007.hs
new file mode 100644
index 0000000000..e39ed6538f
--- /dev/null
+++ b/testsuite/tests/lib/IO/openFile007.hs
@@ -0,0 +1,18 @@
+-- !!! check that we don't truncate files if the open fails
+
+import Control.Monad
+import System.IO
+import System.IO.Error
+
+tmp = "openFile007.out"
+
+main = do
+ h <- openFile tmp WriteMode
+ hPutStrLn h "hello, world"
+
+ -- second open in write mode better fail, but better not truncate the file
+ tryIOError (openFile tmp WriteMode) >>= print
+
+ hClose h
+ s <- readFile tmp -- make sure our "hello, world" is still there
+ putStr s