mirror of
https://github.com/commercialhaskell/stackage.git
synced 2026-02-15 15:55:50 +01:00
Use HASKELL_PACKAGE_SANDBOX for tests haskell/cabal#2034
This commit is contained in:
parent
1133295740
commit
d51181a375
@ -102,23 +102,14 @@ runTestSuite :: CabalVersion
|
|||||||
runTestSuite cabalVersion settings testdir (packageName, SelectedPackageInfo {..}) = do
|
runTestSuite cabalVersion settings testdir (packageName, SelectedPackageInfo {..}) = 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' <- getModifiedEnv settings
|
env' <- getModifiedEnv settings
|
||||||
let menv addGPP
|
let menv = Just $ addSandbox env'
|
||||||
= Just $ (if addGPP then (("GHC_PACKAGE_PATH", packageDir settings ++ ":"):) else id)
|
addSandbox = (("HASKELL_PACKAGE_SANDBOX", packageDir settings):)
|
||||||
$ addSandbox env'
|
|
||||||
-- FIXME why do these packages require the workaround?
|
|
||||||
bannedSandboxVar = map PackageName $ words "wai-logger warp"
|
|
||||||
addSandbox
|
|
||||||
| packageName `elem` bannedSandboxVar = id
|
|
||||||
| otherwise = (("HASKELL_PACKAGE_SANDBOX", packageDir settings):)
|
|
||||||
|
|
||||||
let runGen addGPP cmd args wdir handle' = do
|
let run cmd args wdir handle' = do
|
||||||
ph <- runProcess cmd args (Just wdir) (menv addGPP) Nothing (Just handle') (Just handle')
|
ph <- runProcess cmd args (Just wdir) menv 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
|
||||||
package' <- replaceTarball (tarballDir settings) package
|
package' <- replaceTarball (tarballDir settings) package
|
||||||
getHandle WriteMode $ run "cabal" ["unpack", package'] testdir
|
getHandle WriteMode $ run "cabal" ["unpack", package'] testdir
|
||||||
@ -134,7 +125,7 @@ runTestSuite cabalVersion settings testdir (packageName, SelectedPackageInfo {..
|
|||||||
getHandle AppendMode $ run "cabal" (addCabalArgs settings BSTest ["configure", "--enable-tests"]) dir
|
getHandle AppendMode $ run "cabal" (addCabalArgs settings BSTest ["configure", "--enable-tests"]) dir
|
||||||
when spiHasTests $ do
|
when spiHasTests $ do
|
||||||
getHandle AppendMode $ run "cabal" ["build"] dir
|
getHandle AppendMode $ run "cabal" ["build"] dir
|
||||||
getHandle AppendMode $ runGhcPackagePath "cabal" (concat
|
getHandle AppendMode $ run "cabal" (concat
|
||||||
[ ["test"]
|
[ ["test"]
|
||||||
, if cabalVersion >= CabalVersion 1 20
|
, if cabalVersion >= CabalVersion 1 20
|
||||||
then ["--show-details=streaming"] -- FIXME temporary workaround for https://github.com/haskell/cabal/issues/1810
|
then ["--show-details=streaming"] -- FIXME temporary workaround for https://github.com/haskell/cabal/issues/1810
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user