diff options
Diffstat (limited to 'testsuite/tests/lib/IO/readFile001.hs')
-rw-r--r-- | testsuite/tests/lib/IO/readFile001.hs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/testsuite/tests/lib/IO/readFile001.hs b/testsuite/tests/lib/IO/readFile001.hs new file mode 100644 index 0000000000..e4a2b34cb7 --- /dev/null +++ b/testsuite/tests/lib/IO/readFile001.hs @@ -0,0 +1,26 @@ +-- !!! readFile test + +import System.IO +import System.IO.Error + +source = "readFile001.hs" +filename = "readFile001.out" + +main = do + s <- readFile source + h <- openFile filename WriteMode + hPutStrLn h s + hClose h + s <- readFile filename + + -- This open should fail, because the readFile hasn't been forced + -- and the file is therefore still locked. + tryIOError (openFile filename WriteMode) >>= print + + putStrLn s + + -- should be able to open it for writing now, because we've forced the + -- whole file. + h <- openFile filename WriteMode + + print h |