@@ -19,6 +19,7 @@ import Control.Monad
20import System.Process
20import System.Process
21import System.FilePath
21import System.FilePath
22import System.Directory
23import System.Directory
24-------------------------------------------------------------------------------
25-------------------------------------------------------------------------------
@@ -53,6 +54,11 @@ main = do
54 let tests = filter (`notElem` skipped) passingTestCases
55 let tests = filter (`notElem` skipped) passingTestCases
57+ tmp <- getTemporaryDirectory
58+ createDirectoryIfMissing False (tmp </> logpath)
59+ outputFile <- openFile (tmp </> logpath </> logfile) WriteMode
56 -- Run the tests
62 -- Run the tests
58 forM_ tests $ \inputFile -> do
64 forM_ tests $ \inputFile -> do
@@ -72,7 +78,9 @@ main = do
73 -- Run C++ files
79 -- Run C++ files
75− callProcess ("output" </> "bin" </> "main") []
81+ outputFile <- openFile (tmp </> logpath </> logfile) AppendMode
82+ hPutStrLn outputFile ("\n" ++ inputFile ++ ":")
83+ proc <- runProcess ("output" </> "bin" </> "main") [] Nothing Nothing Nothing (Just outputFile) Nothing
77 removeFile (srcDir </> inputFile)
85 removeFile (srcDir </> inputFile)
78 when testCaseDirExists $ callProcess "rm" ["-rf", srcDir </> (takeWhile (/='.') inputFile)]
86 when testCaseDirExists $ callProcess "rm" ["-rf", srcDir </> (takeWhile (/='.') inputFile)]
@@ -126,3 +134,9 @@ skipped =
126 [ "NumberLiterals.purs" -- unreliable float comparison, test manually
134 [ "NumberLiterals.purs" -- unreliable float comparison, test manually
127 , "FunWithFunDeps.purs" -- requires FFI
135 , "FunWithFunDeps.purs" -- requires FFI
139+logpath = "purescript-output"
142+logfile = "pcc-tests.out"