aboutsummaryrefslogtreecommitdiff
path: root/tests/CompileTest.hs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/CompileTest.hs')
-rw-r--r--tests/CompileTest.hs23
1 files changed, 14 insertions, 9 deletions
diff --git a/tests/CompileTest.hs b/tests/CompileTest.hs
index 4c1f752..9eb6175 100644
--- a/tests/CompileTest.hs
+++ b/tests/CompileTest.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE ScopedTypeVariables, GADTs #-}
+{-# LANGUAGE ScopedTypeVariables, GADTs, ImplicitParams #-}
import System.Environment (getArgs)
import System.Directory
@@ -44,15 +44,19 @@ setupHOME = do
main :: IO ()
main = do
+ let ?progs = defaultPrograms
+ let ?opts = defaultCompileOptions { oVerbose = True }
+
args <- getArgs
case args of
"list-versions":[] -> do
- mapM_ print =<< (allCabalVersions <$> ghcVersion defaultOptions)
+ mapM_ print =<< (allCabalVersions <$> ghcVersion)
"list-versions":ghc_ver_str:[] ->
mapM_ print $ allCabalVersions (parseVer ghc_ver_str)
_ ->
test args
+test :: Env => [String] -> IO ()
test args = do
let action
| null args = testAllCabalVersions
@@ -135,13 +139,13 @@ allCabalVersions ghc_ver = let
reverse $ filter (flip withinRange'CH constraint) cabal_versions
-testAllCabalVersions :: IO ()
+testAllCabalVersions :: Env => IO ()
testAllCabalVersions = do
- ghc_ver <- ghcVersion defaultOptions
+ ghc_ver <- ghcVersion
let relevant_cabal_versions = allCabalVersions ghc_ver
testCabalVersions $ map Right relevant_cabal_versions ++ [Left HEAD]
-testCabalVersions :: [Either HEAD Version] -> IO ()
+testCabalVersions :: Env => [Either HEAD Version] -> IO ()
testCabalVersions versions = do
rvs <- forM versions $ \ver -> do
let sver = either show showVersion ver
@@ -167,9 +171,10 @@ testCabalVersions versions = do
isLeft' (Left _) = True
isLeft' (Right _) = False
-compilePrivatePkgDb :: Either HEAD Version -> IO (Either ExitCode FilePath)
+compilePrivatePkgDb
+ :: Env => Either HEAD Version -> IO (Either ExitCode FilePath)
compilePrivatePkgDb eCabalVer = do
- res <- E.try $ installCabal defaultOptions { oVerbose = True } eCabalVer
+ res <- E.try $ installCabal eCabalVer
case res of
Right (db, cabalVer) ->
compileWithPkg db cabalVer
@@ -177,7 +182,8 @@ compilePrivatePkgDb eCabalVer = do
print ioe
return $ Left (ExitFailure 1)
-compileWithPkg :: PackageDbDir
+compileWithPkg :: Env
+ => PackageDbDir
-> CabalVersion
-> IO (Either ExitCode FilePath)
compileWithPkg db cabalVer = do
@@ -187,7 +193,6 @@ compileWithPkg db cabalVer = do
compile
comp
(compPaths appdir (error "compile-test: distdir not available") comp)
- defaultOptions { oVerbose = True }
cabalPkgId :: CabalVersion -> String