diff --git a/Cabal/tests/PackageTests.hs b/Cabal/tests/PackageTests.hs index 69b6c8000eb6ac4b410162aac0bc4f007e3c5d14..7cec4381ae036494705ab37022b0f7892b09f226 100644 --- a/Cabal/tests/PackageTests.hs +++ b/Cabal/tests/PackageTests.hs @@ -9,7 +9,8 @@ module Main where import Data.Version (Version(Version)) import Distribution.Simple.Utils (cabalVersion) import Distribution.Text (display) -import System.Directory (setCurrentDirectory) +import System.Directory (getCurrentDirectory, setCurrentDirectory) +import System.FilePath ((</>)) import Test.Framework (Test, TestName, defaultMain, testGroup) import Test.Framework.Providers.HUnit (hUnitTestToTests) import qualified Test.HUnit as HUnit @@ -29,7 +30,7 @@ import PackageTests.BuildDeps.TargetSpecificDeps1.Check import PackageTests.BuildDeps.TargetSpecificDeps2.Check import PackageTests.BuildDeps.TargetSpecificDeps3.Check import PackageTests.BuildTestSuiteDetailedV09.Check -import PackageTests.PackageTester (compileSetup) +import PackageTests.PackageTester (PackageSpec(..), compileSetup) import PackageTests.PathsModule.Executable.Check import PackageTests.PathsModule.Library.Check import PackageTests.PreProcess.Check @@ -43,8 +44,8 @@ import PackageTests.TestSuiteExeV10.Check hunit :: TestName -> HUnit.Test -> Test hunit name test = testGroup name $ hUnitTestToTests test -tests :: Version -> [Test] -tests version = +tests :: Version -> PackageSpec -> [Test] +tests version inplaceSpec = [ hunit "BuildDeps/SameDepsAllRound" PackageTests.BuildDeps.SameDepsAllRound.Check.suite -- The two following tests were disabled by Johan Tibell as @@ -79,7 +80,7 @@ tests version = , hunit "EmptyLib/emptyLib" PackageTests.EmptyLib.Check.emptyLib , hunit "BuildTestSuiteDetailedV09" - PackageTests.BuildTestSuiteDetailedV09.Check.suite + $ PackageTests.BuildTestSuiteDetailedV09.Check.suite inplaceSpec ] ++ -- These tests are only required to pass on cabal version >= 1.7 (if version >= Version [1, 7] [] @@ -104,9 +105,17 @@ tests version = main :: IO () main = do + wd <- getCurrentDirectory + let dbFile = wd </> "dist/package.conf.inplace" + inplaceSpec = PackageSpec + { directory = [] + , configOpts = [ "--package-db=" ++ dbFile + , "--constraint=Cabal == " ++ display cabalVersion + ] + } putStrLn $ "Cabal test suite - testing cabal version " ++ display cabalVersion setCurrentDirectory "tests" -- Create a shared Setup executable to speed up Simple tests compileSetup "." - defaultMain (tests cabalVersion) + defaultMain (tests cabalVersion inplaceSpec) diff --git a/Cabal/tests/PackageTests/BuildTestSuiteDetailedV09/Check.hs b/Cabal/tests/PackageTests/BuildTestSuiteDetailedV09/Check.hs index f23b0ac0558b96bb0d9ac9d3763979d22c7492bc..33214d67eabb25024c1b81b17e71ac2a867dc8cd 100644 --- a/Cabal/tests/PackageTests/BuildTestSuiteDetailedV09/Check.hs +++ b/Cabal/tests/PackageTests/BuildTestSuiteDetailedV09/Check.hs @@ -5,10 +5,13 @@ import System.FilePath ((</>)) import PackageTests.PackageTester -suite :: Test -suite = TestCase $ do +suite :: PackageSpec -> Test +suite inplaceSpec = TestCase $ do let dir = "PackageTests" </> "BuildTestSuiteDetailedV09" - spec = PackageSpec dir ["--enable-tests"] + spec = inplaceSpec + { directory = dir + , configOpts = "--enable-tests" : configOpts inplaceSpec + } confResult <- cabal_configure spec assertEqual "configure failed!" (successful confResult) True buildResult <- cabal_build spec