@@ -3,16 +3,19 @@ module Test.Main where
3
3
import Prelude
4
4
5
5
import Data.Array (intercalate )
6
- import Data.Maybe (Maybe (..))
6
+ import Data.Maybe (Maybe (..), fromMaybe )
7
7
import Data.String (trim )
8
8
import Data.String.Regex (replace ) as Regex
9
9
import Data.String.Regex.Flags (global ) as Regex
10
10
import Data.String.Regex.Unsafe (unsafeRegex ) as Regex
11
11
import Effect (Effect )
12
+ import Effect.Class (liftEffect )
12
13
import Node.ChildProcess.Types (Exit (..), pipe )
13
14
import Node.Encoding (Encoding (..))
14
15
import Node.FS.Aff as FS
15
16
import Node.Library.Execa (execa )
17
+ import Node.Platform (Platform (..))
18
+ import Node.Process (lookupEnv , platform )
16
19
import Test.Spec as Spec
17
20
import Test.Spec.Assertions (fail )
18
21
import Test.Spec.Reporter (consoleReporter )
@@ -75,8 +78,9 @@ main = runSpecAndExitProcess [consoleReporter] $
75
78
runTest args' = do
76
79
let opts = _ { cwd = Just " test-fixtures/project" , stdin = Just pipe, stdout = Just pipe, stderr = Just pipe }
77
80
args = [" test" , " --" ] <> args'
78
- execa " spago" [" build" ] opts >>= _.getResult >>= shouldSucceed
79
- execa " spago" args opts >>= _.getResult
81
+ cmd <- spagoCmd
82
+ execa cmd [" build" ] opts >>= _.getResult >>= shouldSucceed
83
+ execa cmd args opts >>= _.getResult
80
84
81
85
nukeLastResults =
82
86
FS .rm' " test-fixtures/project/.spec-results"
@@ -146,3 +150,7 @@ main = runSpecAndExitProcess [consoleReporter] $
146
150
147
151
stripColors = Regex .replace colorRegex " "
148
152
colorRegex = Regex .unsafeRegex " \x1B \\ [([0-9]|;)+m" Regex .global
153
+
154
+ spagoCmd = case platform of
155
+ Just Win32 -> " spago.ps1"
156
+ _ -> " spago"
0 commit comments