[commit: Cabal] master: Enable tests and benchmarks in cabal-install without modifications to the Cabal library. (c112b04)
Ian Lynagh
igloo at earth.li
Fri Feb 17 20:34:15 CET 2012
Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/c112b04a02e5a799991cab7d3b896c1c62bc8a47
>---------------------------------------------------------------
commit c112b04a02e5a799991cab7d3b896c1c62bc8a47
Author: Thomas Tuegel <ttuegel at gmail.com>
Date: Wed Feb 8 06:57:01 2012 +0000
Enable tests and benchmarks in cabal-install without modifications to the Cabal library.
>---------------------------------------------------------------
cabal-install/Distribution/Client/Types.hs | 17 ++++++++++++-----
1 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/cabal-install/Distribution/Client/Types.hs b/cabal-install/Distribution/Client/Types.hs
index 2f5b789..f914ebf 100644
--- a/cabal-install/Distribution/Client/Types.hs
+++ b/cabal-install/Distribution/Client/Types.hs
@@ -18,9 +18,10 @@ import Distribution.Package
import Distribution.InstalledPackageInfo
( InstalledPackageInfo )
import Distribution.PackageDescription
- ( GenericPackageDescription, FlagAssignment )
+ ( Benchmark(..), GenericPackageDescription(..), FlagAssignment
+ , TestSuite(..) )
import Distribution.PackageDescription.Configuration
- ( enableBenchmarks, enableTests )
+ ( mapTreeData )
import Distribution.Client.PackageIndex
( PackageIndex )
import Distribution.Version
@@ -110,9 +111,15 @@ enableStanzas
:: [OptionalStanza]
-> GenericPackageDescription
-> GenericPackageDescription
-enableStanzas stanzas
- = enableTests (TestStanzas `elem` stanzas)
- . enableBenchmarks (BenchStanzas `elem` stanzas)
+enableStanzas stanzas gpkg = gpkg
+ { condBenchmarks = flagBenchmarks $ condBenchmarks gpkg
+ , condTestSuites = flagTests $ condTestSuites gpkg
+ }
+ where
+ enableTest t = t { testEnabled = TestStanzas `elem` stanzas }
+ enableBenchmark bm = bm { benchmarkEnabled = BenchStanzas `elem` stanzas }
+ flagBenchmarks = map (\(n, bm) -> (n, mapTreeData enableBenchmark bm))
+ flagTests = map (\(n, t) -> (n, mapTreeData enableTest t))
-- ------------------------------------------------------------
-- * Package locations and repositories
More information about the Cvs-libraries
mailing list