mirror of
https://github.com/commercialhaskell/stackage.git
synced 2026-02-27 21:47:56 +01:00
Set GHC_PACKAGE_PATH when calling cabal test (#13)
This commit is contained in:
parent
dd595ab519
commit
2534579566
@ -57,20 +57,25 @@ runTestSuite :: BuildSettings
|
|||||||
runTestSuite settings testdir hasTestSuites prevPassed (packageName, (version, Maintainer maintainer)) = do
|
runTestSuite settings testdir hasTestSuites prevPassed (packageName, (version, Maintainer maintainer)) = do
|
||||||
-- Set up a new environment that includes the sandboxed bin folder in PATH.
|
-- Set up a new environment that includes the sandboxed bin folder in PATH.
|
||||||
env' <- getEnvironment
|
env' <- getEnvironment
|
||||||
let menv = Just $ ("HASKELL_PACKAGE_SANDBOX", packageDir settings)
|
let menv addGPP
|
||||||
: map (fixEnv $ binDir settings) env'
|
= Just $ (if addGPP then (("GHC_PACKAGE_PATH", packageDir settings ++ ":"):) else id)
|
||||||
|
$ ("HASKELL_PACKAGE_SANDBOX", packageDir settings)
|
||||||
|
: map (fixEnv $ binDir settings) env'
|
||||||
|
|
||||||
let run cmd args wdir handle = do
|
let runGen addGPP cmd args wdir handle = do
|
||||||
ph <- runProcess cmd args (Just wdir) menv Nothing (Just handle) (Just handle)
|
ph <- runProcess cmd args (Just wdir) (menv addGPP) Nothing (Just handle) (Just handle)
|
||||||
ec <- waitForProcess ph
|
ec <- waitForProcess ph
|
||||||
unless (ec == ExitSuccess) $ throwIO TestException
|
unless (ec == ExitSuccess) $ throwIO TestException
|
||||||
|
|
||||||
|
let run = runGen False
|
||||||
|
runGhcPackagePath = runGen True
|
||||||
|
|
||||||
passed <- handle (\TestException -> return False) $ do
|
passed <- handle (\TestException -> return False) $ do
|
||||||
getHandle WriteMode $ run "cabal" ["unpack", package] testdir
|
getHandle WriteMode $ run "cabal" ["unpack", package] testdir
|
||||||
getHandle AppendMode $ run "cabal" (addCabalArgs settings ["configure", "--enable-tests"]) dir
|
getHandle AppendMode $ run "cabal" (addCabalArgs settings ["configure", "--enable-tests"]) dir
|
||||||
when (hasTestSuites packageName) $ do
|
when (hasTestSuites packageName) $ do
|
||||||
getHandle AppendMode $ run "cabal" ["build"] dir
|
getHandle AppendMode $ run "cabal" ["build"] dir
|
||||||
getHandle AppendMode $ run "cabal" ["test"] dir
|
getHandle AppendMode $ runGhcPackagePath "cabal" ["test"] dir
|
||||||
getHandle AppendMode $ run "cabal" ["haddock"] dir
|
getHandle AppendMode $ run "cabal" ["haddock"] dir
|
||||||
return True
|
return True
|
||||||
let expectedFailure = packageName `Set.member` expectedFailures settings
|
let expectedFailure = packageName `Set.member` expectedFailures settings
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user