* gnu/packages/patches/idris-test-no-node.patch: New patch. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/idris.scm (idris)[origin]: Use it. [native-inputs]: New field. [arguments]: Remove "#:tests? #f". Add custom 'check' phase after 'install'.
		
			
				
	
	
		
			61 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
	
		
			2 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)
 | 
						|
+
 |