diff options
Diffstat (limited to 'testsuite/tests/lib/IO/openFile007.hs')
-rw-r--r-- | testsuite/tests/lib/IO/openFile007.hs | 18 |
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 |