@@ -15,7 +15,7 @@ testsDir :: IO (FilePath, FilePath)
15-------------------------------------------------------------------------------
15-------------------------------------------------------------------------------
16testsDir = do
16testsDir = do
17 baseDir <- getCurrentDirectory
17 baseDir <- getCurrentDirectory
18− return (baseDir </> "objc-tests", baseDir)
18+ return (baseDir </> "purescript-tests", baseDir)
20-------------------------------------------------------------------------------
20-------------------------------------------------------------------------------
21runTests :: IO ()
21runTests :: IO ()
@@ -31,7 +31,7 @@ runTests = do
31 let srcDir = outputDir </> "src"
31 let srcDir = outputDir </> "src"
32 createDirectory srcDir
32 createDirectory srcDir
34− let passingDir = baseDir </> "examples" </> "passing"
34+ let passingDir = baseDir </> "tests" </> "purs" </> "passing"
35 passingTestCases <- sort . filter (".purs" `isSuffixOf`) <$> getDirectoryContents passingDir
35 passingTestCases <- sort . filter (".purs" `isSuffixOf`) <$> getDirectoryContents passingDir
37 -- Auto-generate Makefile
37 -- Auto-generate Makefile
@@ -39,6 +39,10 @@ runTests = do
39 callProcess "cp" ["../Makefile", "."]
39 callProcess "cp" ["../Makefile", "."]
41 fetchPackages
41 fetchPackages
42+ callProcess "git" ["clone", "https://github.com/andyarvanitis/purescript-cpp-ffi.git", "ffi"]
44+ callProcess "rm" ["-rf", ".psc-package/psc-0.12.0/prelude/v4.0.0"]
45+ callProcess "git" ["clone", "https://github.com/andyarvanitis/purescript-prelude.git", ".psc-package/psc-0.12.0/prelude/v4.0.0"]
43 let tests = filter (`notElem` skipped) passingTestCases
47 let tests = filter (`notElem` skipped) passingTestCases
@@ -62,7 +66,7 @@ runTests = do
62 when testCaseDirExists $ callProcess "cp" ["-R", testCaseDir, srcDir]
66 when testCaseDirExists $ callProcess "cp" ["-R", testCaseDir, srcDir]
64 callProcess "make" ["clean"]
68 callProcess "make" ["clean"]
65− callProcess "make" ["release", "-j12"]
69+ callProcess "make" ["debug", "-j12"]
67 -- Run C++ files
71 -- Run C++ files
@@ -80,7 +84,7 @@ runTests = do
82 setCurrentDirectory baseDir
86 setCurrentDirectory baseDir
83− putStrLn "objc-tests finished"
87+ putStrLn "PureScript tests finished"
84 putStrLn $ "Total tests available: " ++ show (length passingTestCases)
88 putStrLn $ "Total tests available: " ++ show (length passingTestCases)
85 putStrLn $ "Tests run: " ++ show (length tests)
89 putStrLn $ "Tests run: " ++ show (length tests)
86 putStrLn $ "Tests skipped: " ++ show (length skipped)
90 putStrLn $ "Tests skipped: " ++ show (length skipped)
@@ -89,23 +93,21 @@ runTests = do
89packages :: [String]
93packages :: [String]
90-------------------------------------------------------------------------------
94-------------------------------------------------------------------------------
93− , "arrays"
96+ [ "arrays"
94 , "assert"
97 , "assert"
95 , "console"
98 , "console"
96 , "control"
99 , "control"
97 , "foldable-traversable"
101 , "foldable-traversable"
98 , "functions"
102 , "functions"
99 , "generics-rep"
103 , "generics-rep"
100 , "invariant"
104 , "invariant"
102 , "newtype"
105 , "newtype"
103 , "partial"
106 , "partial"
104 , "prelude"
107 , "prelude"
105 , "proxy"
108 , "proxy"
109 , "type-equality"
111 , "type-equality"
110 , "typelevel-prelude"
112 , "typelevel-prelude"
@@ -123,16 +125,14 @@ skipped :: [String]
123-------------------------------------------------------------------------------
125-------------------------------------------------------------------------------
126− "NumberLiterals.purs" -- unreliable float comparison, test manually
127− , "2172.purs" -- ps-side foreign issue
128− , "AppendInReverse.purs" -- test not updated to post-0.12?
129− , "EffFn.purs" -- ps-side foreign issue
128+ "EffFn.purs" -- ps-side foreign issue
129+ , "FunWithFunDeps.purs" -- requires FFI
130 , "MultiArgFunctions.purs" -- not supported (needed?) right now
130 , "MultiArgFunctions.purs" -- not supported (needed?) right now
131− , "NegativeIntInRange.purs" -- supposed to fail?
131+ , "NegativeIntInRange.purs" -- C++ literal restriction
132+ , "NumberLiterals.purs" -- unreliable float comparison, test manually
132 , "PolyLabels.purs" -- ps-side foreign issue
133 , "PolyLabels.purs" -- ps-side foreign issue
133 , "RowUnion.purs" -- ps-side foreign issue
134 , "RowUnion.purs" -- ps-side foreign issue
134 , "ShadowedModuleName.purs" -- ?
135 , "ShadowedModuleName.purs" -- ?
135− , "FunWithFunDeps.purs" -- requires FFI
136 , "StringEdgeCases.purs" -- ?
136 , "StringEdgeCases.purs" -- ?
137 , "StringEscapes.purs" -- TODO: UTF16-specific?
137 , "StringEscapes.purs" -- TODO: UTF16-specific?
@@ -141,4 +141,4 @@ logpath :: FilePath
141logpath = "purescript-output"
141logpath = "purescript-output"
143logfile :: FilePath
143logfile :: FilePath
144−logfile = "objc-tests.out"
144+logfile = "purescript-tests.out"