diff --git a/cabal-install/tests/IntegrationTests/custom-setup/new_build_requires_Cabal_1_20.sh b/cabal-install/tests/IntegrationTests/custom-setup/new_build_requires_Cabal_1_20.sh deleted file mode 100644 index bf1275acb23639ad73641d6f2ae37c94f8b36891..0000000000000000000000000000000000000000 --- a/cabal-install/tests/IntegrationTests/custom-setup/new_build_requires_Cabal_1_20.sh +++ /dev/null @@ -1,9 +0,0 @@ -# Regression test for issue #3932 - -. ./common.sh - -cd custom-setup-old-cabal -! cabal new-build > output 2>&1 - -cat output -grep -q "(issue #3932) requires >=1.20" output || die "Expect constraint failure" diff --git a/cabal-install/tests/IntegrationTests/custom-setup/custom-setup-old-cabal/Setup.hs b/cabal-testsuite/PackageTests/Regression/T3932/Setup.hs similarity index 100% rename from cabal-install/tests/IntegrationTests/custom-setup/custom-setup-old-cabal/Setup.hs rename to cabal-testsuite/PackageTests/Regression/T3932/Setup.hs diff --git a/cabal-testsuite/PackageTests/Regression/T3932/cabal.project b/cabal-testsuite/PackageTests/Regression/T3932/cabal.project new file mode 100644 index 0000000000000000000000000000000000000000..e6fdbadb4398bc0e333947b5fb8021778310d943 --- /dev/null +++ b/cabal-testsuite/PackageTests/Regression/T3932/cabal.project @@ -0,0 +1 @@ +packages: . diff --git a/cabal-testsuite/PackageTests/Regression/T3932/cabal.test.hs b/cabal-testsuite/PackageTests/Regression/T3932/cabal.test.hs new file mode 100644 index 0000000000000000000000000000000000000000..867cd707d24a3880eb777c09d57411069d4d2c46 --- /dev/null +++ b/cabal-testsuite/PackageTests/Regression/T3932/cabal.test.hs @@ -0,0 +1,10 @@ +import Test.Cabal.Prelude +main = cabalTest $ + -- This repository contains a Cabal-1.18.0.0 option, which would + -- normally would satisfy the repository, except for new-build's + -- extra constraint that setup Cabal must be 1.20. If we don't + -- have a choice like this available, the unsatisfied constraint + -- won't be reported. + withRepo "repo" $ do + fails (cabal' "new-build" []) >>= + assertOutputContains "(issue #3932) requires >=1.20" diff --git a/cabal-install/tests/IntegrationTests/custom-setup/custom-setup-old-cabal/custom-setup-old-cabal.cabal b/cabal-testsuite/PackageTests/Regression/T3932/custom-setup-old-cabal.cabal similarity index 100% rename from cabal-install/tests/IntegrationTests/custom-setup/custom-setup-old-cabal/custom-setup-old-cabal.cabal rename to cabal-testsuite/PackageTests/Regression/T3932/custom-setup-old-cabal.cabal diff --git a/cabal-testsuite/PackageTests/Regression/T3932/repo/Cabal-1.18.0.0/Cabal.cabal b/cabal-testsuite/PackageTests/Regression/T3932/repo/Cabal-1.18.0.0/Cabal.cabal new file mode 100644 index 0000000000000000000000000000000000000000..363db88cf3f00859fbc9f025c83a79887d7b6201 --- /dev/null +++ b/cabal-testsuite/PackageTests/Regression/T3932/repo/Cabal-1.18.0.0/Cabal.cabal @@ -0,0 +1,6 @@ +name: Cabal +version: 1.18.0.0 +build-type: Simple +cabal-version: >= 1.10 + +library diff --git a/cabal-testsuite/Test/Cabal/Prelude.hs b/cabal-testsuite/Test/Cabal/Prelude.hs index 5099098c6f37e8f24124d27a4e8f2cb56560f421..dc0889ae41913b42156a4c2b57b9e94bc1f5b5d3 100644 --- a/cabal-testsuite/Test/Cabal/Prelude.hs +++ b/cabal-testsuite/Test/Cabal/Prelude.hs @@ -96,6 +96,10 @@ withDirectory f = withReaderT withEnv :: [(String, Maybe String)] -> TestM a -> TestM a withEnv e = withReaderT (\env -> env { testEnvironment = testEnvironment env ++ e }) +-- HACK please don't use me +withEnvFilter :: (String -> Bool) -> TestM a -> TestM a +withEnvFilter p = withReaderT (\env -> env { testEnvironment = filter (p . fst) (testEnvironment env) }) + ------------------------------------------------------------------------ -- * Running Setup