summaryrefslogtreecommitdiff
path: root/libraries/base/tests/IO/readFile001.hs
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/base/tests/IO/readFile001.hs')
-rw-r--r--libraries/base/tests/IO/readFile001.hs26
1 files changed, 26 insertions, 0 deletions
diff --git a/libraries/base/tests/IO/readFile001.hs b/libraries/base/tests/IO/readFile001.hs
new file mode 100644
index 0000000000..e4a2b34cb7
--- /dev/null
+++ b/libraries/base/tests/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