test('getPermissions001', omit_ways(['ghci']), compile_and_run, ['-cpp'])
test('copyFile001', normal, compile_and_run, [''])
+test('copyFile002', normal, compile_and_run, [''])
--- /dev/null
+
+module Main (main) where
+
+import Control.Exception
+import Data.List
+import System.Directory
+import System.IO
+
+-- like copyFile001, but moves a file in the current directory
+-- See bug #1652
+main :: IO ()
+main = do d <- getCurrentDirectory
+ flip finally (setCurrentDirectory d) $ do
+ setCurrentDirectory "copyFile"
+ try $ removeFile to
+ cs_before <- getDirectoryContents "."
+ putStrLn "Before:"
+ print $ sort cs_before
+ copyFile from to
+ cs_before <- getDirectoryContents "."
+ putStrLn "After:"
+ print $ sort cs_before
+ readFile to >>= print
+
+from, to :: FilePath
+from = "source"
+to = "target"
+
--- /dev/null
+Before:
+[".","..","source"]
+After:
+[".","..","source","target"]
+"This is the data"