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
