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 <[email protected]>
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



_______________________________________________
Cvs-libraries mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-libraries

Reply via email to