on master help sign in
Merge pull request #2939 from melted/fix_testing
0cbea4aNiklas Larsson
test/Makefile+5−4
@@ -1,9 +1,5 @@
1.PHONY: test test_js time update diff distclean $(TESTS)
1.PHONY: test test_js time update diff distclean $(TESTS)
2
2
3−runtest:
4− @ghc --make runtest.hs
5− @rm runtest.o runtest.hi
6−
7TESTS = $(sort $(patsubst %/,%.test,$(wildcard */)))
3TESTS = $(sort $(patsubst %/,%.test,$(wildcard */)))
8
4
9test: $(TESTS)
5test: $(TESTS)
@@ -31,3 +27,8 @@ distclean:
31 @rm runtest
27 @rm runtest
32 @rm -f *~
28 @rm -f *~
33 @rm -f */output
29 @rm -f */output
30+
31+
32+runtest:
33+ @ghc --make runtest.hs
34+ @rm runtest.o runtest.hi
test/runtest.hs+11−3
@@ -171,17 +171,25 @@ runDiff conf = do
171whisper :: Config -> String -> IO ()
171whisper :: Config -> String -> IO ()
172whisper conf s = do unless (isQuiet conf) $ putStrLn s
172whisper conf s = do unless (isQuiet conf) $ putStrLn s
173
173
174+isWindows :: Bool
175+isWindows = os `elem` ["win32", "mingw32", "cygwin32"]
176+
174setPath :: Config -> IO ()
177setPath :: Config -> IO ()
175setPath conf = do
178setPath conf = do
176 maybeEnv <- lookupEnv "IDRIS"
179 maybeEnv <- lookupEnv "IDRIS"
177− idrisEnv <- return $ fromMaybe "" maybeEnv
180+ idrisExists <- case maybeEnv of
178− if (idrisEnv /= "")
181+ Just idrisExe -> do
182+ let exeExtension = if isWindows then ".exe" else ""
183+ doesFileExist (idrisExe ++ exeExtension)
184+ Nothing -> return False
185+ if (idrisExists)
179 then do
186 then do
180− idrisAbs <- makeAbsolute idrisEnv
187+ idrisAbs <- makeAbsolute $ fromMaybe "" maybeEnv
181 setEnv "IDRIS" idrisAbs
188 setEnv "IDRIS" idrisAbs
182 whisper conf $ "Using " ++ idrisAbs
189 whisper conf $ "Using " ++ idrisAbs
183 else do
190 else do
184 path <- getEnv "PATH"
191 path <- getEnv "PATH"
192+ setEnv "IDRIS" ""
185 let sandbox = "../.cabal-sandbox/bin"
193 let sandbox = "../.cabal-sandbox/bin"
186 hasBox <- doesDirectoryExist sandbox
194 hasBox <- doesDirectoryExist sandbox
187 bindir <- if hasBox
195 bindir <- if hasBox