diff options
Diffstat (limited to 'testsuite/tests/lib/IO/finalization001.hs')
-rw-r--r-- | testsuite/tests/lib/IO/finalization001.hs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/testsuite/tests/lib/IO/finalization001.hs b/testsuite/tests/lib/IO/finalization001.hs new file mode 100644 index 0000000000..2bf6353453 --- /dev/null +++ b/testsuite/tests/lib/IO/finalization001.hs @@ -0,0 +1,26 @@ +--- !!! test for bug in handle finalization fixed in +--- !!! 1.60 +1 -2 fptools/ghc/lib/std/PrelHandle.lhs +--- !!! 1.15 +4 -10 fptools/ghc/lib/std/PrelIO.lhs + +module Main (main) where + +import System.IO + +doTest :: IO () +doTest = do + sd <- openFile "finalization001.hs" ReadWriteMode + result <- hGetContents sd + slurp result + hClose sd + if "" `elem` lines (filter (/= '\r') result) + then + putStrLn "ok" + else + putStrLn "fail" + +slurp :: String -> IO () +slurp [] = return () +slurp (x:xs) = x `seq` slurp xs + +main :: IO () +main = sequence_ (take 200 (repeat doTest)) |