Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/cc248fc0c266992a733cc29b90e774db53da7a7d

>---------------------------------------------------------------

commit cc248fc0c266992a733cc29b90e774db53da7a7d
Author: Johan Tibell <[email protected]>
Date:   Tue Oct 11 19:58:47 2011 +0000

    Add unit test for benchmark section

>---------------------------------------------------------------

 cabal/Cabal.cabal                                  |    1 +
 .../{TestStanza => BenchmarkStanza}/Check.hs       |   28 ++++++++++----------
 .../Setup.hs                                       |    0 
 .../{TestStanza => BenchmarkStanza}/my.cabal       |    8 +++---
 cabal/tests/suite.hs                               |    6 +++-
 5 files changed, 24 insertions(+), 19 deletions(-)

diff --git a/cabal/Cabal.cabal b/cabal/Cabal.cabal
index c711ff9..e18b4b0 100644
--- a/cabal/Cabal.cabal
+++ b/cabal/Cabal.cabal
@@ -147,6 +147,7 @@ test-suite unit-tests
                  PackageTests.TestOptions.Check,
                  PackageTests.TestStanza.Check,
                  PackageTests.TestSuiteExeV10.Check,
+                 PackageTests.BenchmarkStanza.Check,
                  PackageTests.PackageTester
   hs-source-dirs: tests
   build-depends:
diff --git a/cabal/tests/PackageTests/TestStanza/Check.hs 
b/cabal/tests/PackageTests/BenchmarkStanza/Check.hs
similarity index 69%
copy from cabal/tests/PackageTests/TestStanza/Check.hs
copy to cabal/tests/PackageTests/BenchmarkStanza/Check.hs
index 2db93cd..3f83002 100644
--- a/cabal/tests/PackageTests/TestStanza/Check.hs
+++ b/cabal/tests/PackageTests/BenchmarkStanza/Check.hs
@@ -1,4 +1,4 @@
-module PackageTests.TestStanza.Check where
+module PackageTests.BenchmarkStanza.Check where
 
 import Test.HUnit
 import System.FilePath
@@ -12,10 +12,10 @@ import Distribution.PackageDescription.Configuration
 import Distribution.Package
         ( PackageIdentifier(..), PackageName(..), Dependency(..) )
 import Distribution.PackageDescription
-        ( PackageDescription(..), BuildInfo(..), TestSuite(..), Library(..)
-        , TestSuiteInterface(..)
+        ( PackageDescription(..), BuildInfo(..), Benchmark(..), Library(..)
+        , BenchmarkInterface(..)
         , TestType(..), emptyPackageDescription, emptyBuildInfo, emptyLibrary
-        , emptyTestSuite, BuildType(..) )
+        , emptyBenchmark, BuildType(..) )
 import Distribution.Verbosity (silent)
 import Distribution.License (License(..))
 import Distribution.ModuleName (fromString)
@@ -26,11 +26,11 @@ import Distribution.Text
 
 suite :: Version -> Test
 suite cabalVersion = TestCase $ do
-    let directory = "PackageTests" </> "TestStanza"
+    let directory = "PackageTests" </> "BenchmarkStanza"
         pdFile = directory </> "my" <.> "cabal"
         spec = PackageSpec directory []
     result <- cabal_configure spec
-    let message = "cabal configure should recognize test section"
+    let message = "cabal configure should recognize benchmark section"
         test = "unknown section type"
                `isInfixOf`
                (intercalate " " $ lines $ outputText result)
@@ -38,20 +38,20 @@ suite cabalVersion = TestCase $ do
     genPD <- readPackageDescription silent pdFile
     let compiler = CompilerId GHC $ Version [6, 12, 2] []
         anyV = intersectVersionRanges anyVersion anyVersion
-        anticipatedTestSuite = emptyTestSuite
-            { testName = "dummy"
-            , testInterface = TestSuiteExeV10 (Version [1,0] []) "dummy.hs"
-            , testBuildInfo = emptyBuildInfo
+        anticipatedBenchmark = emptyBenchmark
+            { benchmarkName = "dummy"
+            , benchmarkInterface = BenchmarkExeV10 (Version [1,0] []) 
"dummy.hs"
+            , benchmarkBuildInfo = emptyBuildInfo
                     { targetBuildDepends =
                             [ Dependency (PackageName "base") anyVersion ]
                     , hsSourceDirs = ["."]
                     }
-            , testEnabled = False
+            , benchmarkEnabled = False
             }
     case finalizePackageDescription [] (const True) buildPlatform compiler [] 
genPD of
         Left xs -> let depMessage = "should not have missing dependencies:\n" 
++
                                     (unlines $ map (show . disp) xs)
                    in assertEqual depMessage True False
-        Right (f, _) -> let gotTest = head $ testSuites f
-                        in assertEqual "parsed test-suite stanza does not 
match anticipated"
-                                gotTest anticipatedTestSuite
+        Right (f, _) -> let gotBenchmark = head $ benchmarks f
+                        in assertEqual "parsed benchmark stanza does not match 
anticipated"
+                                gotBenchmark anticipatedBenchmark
diff --git 
a/cabal/tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive1/Setup.hs 
b/cabal/tests/PackageTests/BenchmarkStanza/Setup.hs
similarity index 100%
copy from 
cabal/tests/PackageTests/BuildDeps/GlobalBuildDepsNotAdditive1/Setup.hs
copy to cabal/tests/PackageTests/BenchmarkStanza/Setup.hs
diff --git a/cabal/tests/PackageTests/TestStanza/my.cabal 
b/cabal/tests/PackageTests/BenchmarkStanza/my.cabal
similarity index 59%
copy from cabal/tests/PackageTests/TestStanza/my.cabal
copy to cabal/tests/PackageTests/BenchmarkStanza/my.cabal
index 3381abf..e41f3ab 100644
--- a/cabal/tests/PackageTests/TestStanza/my.cabal
+++ b/cabal/tests/PackageTests/BenchmarkStanza/my.cabal
@@ -1,19 +1,19 @@
-name: TestStanza
+name: BenchmarkStanza
 version: 0.1
 license: BSD3
-author: Thomas Tuegel
+author: Johan Tibell
 stability: stable
 category: PackageTests
 build-type: Simple
 
 description:
-    Check that Cabal recognizes the Test stanza defined below.
+    Check that Cabal recognizes the benchmark stanza defined below.
 
 Library
     exposed-modules: MyLibrary
     build-depends: base
 
-test-suite dummy
+benchmark dummy
     main-is: dummy.hs
     type: exitcode-stdio-1.0
     build-depends: base
\ No newline at end of file
diff --git a/cabal/tests/suite.hs b/cabal/tests/suite.hs
index cd6fbef..f266386 100644
--- a/cabal/tests/suite.hs
+++ b/cabal/tests/suite.hs
@@ -10,6 +10,7 @@ import Test.Framework
 import Test.Framework.Providers.HUnit
 import Test.Framework.Providers.QuickCheck2
 import qualified Test.HUnit as HUnit
+import PackageTests.BenchmarkStanza.Check
 import PackageTests.BuildDeps.SameDepsAllRound.Check
 import PackageTests.BuildDeps.TargetSpecificDeps1.Check
 import PackageTests.BuildDeps.TargetSpecificDeps1.Check
@@ -46,7 +47,10 @@ tests cabalVersion = [
         (PackageTests.TestSuiteExeV10.Check.checkTest cabalVersion),
         hunit "PackageTests/TestSuiteExeV10/TestWithHpc"
         (PackageTests.TestSuiteExeV10.Check.checkTestWithHpc cabalVersion),
-        hunit "PackageTests/TestOptions" PackageTests.TestOptions.Check.suite
+        hunit "PackageTests/TestOptions" PackageTests.TestOptions.Check.suite,
+        hunit "PackageTests/BenchmarkStanza/" 
(PackageTests.BenchmarkStanza.Check.suite cabalVersion)
+        -- ^ The benchmark stanza test will eventually be required
+        -- only for higher versions.
     ] ++
     -- These tests are only required to pass on cabal version >= 1.7
     (if cabalVersion >= Version [1, 7] []



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

Reply via email to