git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Merge pull request #1402 from purescript/1401-windows-tests
b2a8cf2Gary Burgess
purescript.cabal+2−1
@@ -23,6 +23,7 @@ extra-source-files: examples/passing/*.purs
23 , tests/support/setup.js
23 , tests/support/setup.js
24 , tests/support/package.json
24 , tests/support/package.json
25 , tests/support/bower.json
25 , tests/support/bower.json
26+ , tests/support/setup-win.cmd
26 , psci/tests/data/Sample.purs
27 , psci/tests/data/Sample.purs
27
28
28source-repository head
29source-repository head
@@ -122,7 +123,7 @@ library
122 Language.PureScript.Sugar.ObjectWildcards
123 Language.PureScript.Sugar.ObjectWildcards
123 Language.PureScript.Sugar.Operators
124 Language.PureScript.Sugar.Operators
124 Language.PureScript.Sugar.TypeClasses
125 Language.PureScript.Sugar.TypeClasses
125− Language.PureScript.Sugar.TypeClasses.Deriving
126+ Language.PureScript.Sugar.TypeClasses.Deriving
126 Language.PureScript.Sugar.TypeDeclarations
127 Language.PureScript.Sugar.TypeDeclarations
127 Language.PureScript.Traversals
128 Language.PureScript.Traversals
128 Language.PureScript.TypeChecker
129 Language.PureScript.TypeChecker
tests/Main.hs+1
@@ -62,6 +62,7 @@ import System.Exit
62import System.Process
62import System.Process
63import System.FilePath
63import System.FilePath
64import System.Directory
64import System.Directory
65+import qualified System.Info
65import qualified System.FilePath.Glob as Glob
66import qualified System.FilePath.Glob as Glob
66
67
67import Text.Parsec (ParseError)
68import Text.Parsec (ParseError)
tests/common/TestsSetup.hs+8−4
@@ -23,6 +23,7 @@ import Control.Monad.Trans.Maybe
23
23
24import System.Process
24import System.Process
25import System.Directory
25import System.Directory
26+import System.Info
26
27
27findNodeProcess :: IO (Maybe String)
28findNodeProcess :: IO (Maybe String)
28findNodeProcess = runMaybeT . msum $ map (MaybeT . findExecutable) names
29findNodeProcess = runMaybeT . msum $ map (MaybeT . findExecutable) names
@@ -33,9 +34,12 @@ fetchSupportCode :: IO ()
33fetchSupportCode = do
34fetchSupportCode = do
34 node <- fromMaybe (error "cannot find node executable") <$> findNodeProcess
35 node <- fromMaybe (error "cannot find node executable") <$> findNodeProcess
35 setCurrentDirectory "tests/support"
36 setCurrentDirectory "tests/support"
37+ if System.Info.os == "mingw32"
38+ then callProcess "setup-win.cmd" []
39+ else do
36− callProcess "npm" ["install"]
40+ callProcess "npm" ["install"]
37− -- Sometimes we run as a root (e.g. in simple docker containers)
41+ -- Sometimes we run as a root (e.g. in simple docker containers)
38− -- And we are non-interactive: https://github.com/bower/bower/issues/1162
42+ -- And we are non-interactive: https://github.com/bower/bower/issues/1162
39− callProcess "node_modules/.bin/bower" ["--allow-root", "install", "--config.interactive=false"]
43+ callProcess "node_modules/.bin/bower" ["--allow-root", "install", "--config.interactive=false"]
40 callProcess node ["setup.js"]
44 callProcess node ["setup.js"]
41 setCurrentDirectory "../.."
45 setCurrentDirectory "../.."
tests/support/setup-win.cmdnew file+3
@@ -0,0 +1,3 @@
1+@echo off
2+call npm install
3+call node_modules\.bin\bower install --config.interactive=false