62 lines
2.0 KiB
Diff
62 lines
2.0 KiB
Diff
|
From 6c52e1b902b869c25e2fe39cff6364143a04da61 Mon Sep 17 00:00:00 2001
|
||
|
From: Niklas Larsson <niklas@mm.st>
|
||
|
Date: Tue, 11 Dec 2018 19:56:22 +0100
|
||
|
Subject: [PATCH] Only check for Node when required
|
||
|
|
||
|
---
|
||
|
test/TestRun.hs | 34 ++++++++++++++++++++--------------
|
||
|
1 file changed, 20 insertions(+), 14 deletions(-)
|
||
|
|
||
|
diff --git a/test/TestRun.hs b/test/TestRun.hs
|
||
|
index c7db9fdcd..4809911f3 100644
|
||
|
--- a/test/TestRun.hs
|
||
|
+++ b/test/TestRun.hs
|
||
|
@@ -11,6 +11,7 @@ import Data.Proxy
|
||
|
import Data.Typeable
|
||
|
import Options.Applicative
|
||
|
import System.Directory
|
||
|
+import System.Environment
|
||
|
import System.Exit
|
||
|
import System.FilePath ((</>))
|
||
|
import System.Info
|
||
|
@@ -103,20 +104,25 @@ runTest path flags = do
|
||
|
normalise (x : xs) = x : normalise xs
|
||
|
normalise [] = []
|
||
|
|
||
|
+checkNode :: IO ()
|
||
|
+checkNode = do
|
||
|
+ nodePath <- findExecutable "node"
|
||
|
+ nodejsPath <- findExecutable "nodejs"
|
||
|
+ let node = nodePath <|> nodejsPath
|
||
|
+ case node of
|
||
|
+ Nothing -> do
|
||
|
+ putStrLn "For running the test suite against Node, node must be installed."
|
||
|
+ exitFailure
|
||
|
+ Just _ -> return ()
|
||
|
+
|
||
|
main :: IO ()
|
||
|
main = do
|
||
|
- nodePath <- findExecutable "node"
|
||
|
- nodejsPath <- findExecutable "nodejs"
|
||
|
- let node = nodePath <|> nodejsPath
|
||
|
- case node of
|
||
|
- Nothing -> do
|
||
|
- putStrLn "For running the test suite against Node, node must be installed."
|
||
|
- exitFailure
|
||
|
- Just _ -> do
|
||
|
- defaultMainWithIngredients ingredients $
|
||
|
+ args <- getArgs
|
||
|
+ when ("--node" `elem` args) checkNode
|
||
|
+ defaultMainWithIngredients ingredients $
|
||
|
askOption $ \(NodeOpt node) ->
|
||
|
- let (codegen, flags) = if node then (JS, ["--codegen", "node"])
|
||
|
- else (C , [])
|
||
|
- in
|
||
|
- mkGoldenTests (testFamiliesForCodegen codegen)
|
||
|
- (flags ++ idrisFlags)
|
||
|
+ let (codegen, flags) = if node then (JS, ["--codegen", "node"])
|
||
|
+ else (C , [])
|
||
|
+ in
|
||
|
+ mkGoldenTests (testFamiliesForCodegen codegen) (flags ++ idrisFlags)
|
||
|
+
|