[commit: Cabal] master: Add unit test for building benchmarks (1119540)
Ian Lynagh
igloo at earth.li
Sat Oct 15 02:46:40 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/11195401f9bb9c0078423ea1858e0b908ef3c8a0
>---------------------------------------------------------------
commit 11195401f9bb9c0078423ea1858e0b908ef3c8a0
Author: Johan Tibell <johan.tibell at gmail.com>
Date: Wed Oct 12 15:41:38 2011 +0000
Add unit test for building benchmarks
>---------------------------------------------------------------
cabal/tests/PackageTests/BenchmarkExeV10/Check.hs | 21 ++++++++++++++++++++
.../{TestSuiteExeV10 => BenchmarkExeV10}/Foo.hs | 0
.../{BenchmarkStanza => BenchmarkExeV10}/Setup.hs | 0
.../benchmarks/bench-Foo.hs} | 0
.../{TestSuiteExeV10 => BenchmarkExeV10}/my.cabal | 6 ++--
cabal/tests/suite.hs | 5 +++-
6 files changed, 28 insertions(+), 4 deletions(-)
diff --git a/cabal/tests/PackageTests/BenchmarkExeV10/Check.hs b/cabal/tests/PackageTests/BenchmarkExeV10/Check.hs
new file mode 100644
index 0000000..c99d5f9
--- /dev/null
+++ b/cabal/tests/PackageTests/BenchmarkExeV10/Check.hs
@@ -0,0 +1,21 @@
+module PackageTests.BenchmarkExeV10.Check
+ ( checkBenchmark
+ ) where
+
+import Distribution.PackageDescription ( Benchmark(..), emptyBenchmark )
+import Distribution.Simple.Hpc
+import Distribution.Version
+import Test.HUnit
+import System.Directory
+import System.FilePath
+import PackageTests.PackageTester
+
+dir :: FilePath
+dir = "PackageTests" </> "BenchmarkExeV10"
+
+checkBenchmark :: Version -> Test
+checkBenchmark cabalVersion = TestCase $ do
+ let spec = PackageSpec dir ["--enable-benchmarks"]
+ buildResult <- cabal_build spec
+ let buildMessage = "\'setup build\' should succeed"
+ assertEqual buildMessage True $ successful buildResult
diff --git a/cabal/tests/PackageTests/TestSuiteExeV10/Foo.hs b/cabal/tests/PackageTests/BenchmarkExeV10/Foo.hs
similarity index 100%
copy from cabal/tests/PackageTests/TestSuiteExeV10/Foo.hs
copy to cabal/tests/PackageTests/BenchmarkExeV10/Foo.hs
diff --git a/cabal/tests/PackageTests/BenchmarkStanza/Setup.hs b/cabal/tests/PackageTests/BenchmarkExeV10/Setup.hs
similarity index 100%
copy from cabal/tests/PackageTests/BenchmarkStanza/Setup.hs
copy to cabal/tests/PackageTests/BenchmarkExeV10/Setup.hs
diff --git a/cabal/tests/PackageTests/TestSuiteExeV10/tests/test-Foo.hs b/cabal/tests/PackageTests/BenchmarkExeV10/benchmarks/bench-Foo.hs
similarity index 100%
copy from cabal/tests/PackageTests/TestSuiteExeV10/tests/test-Foo.hs
copy to cabal/tests/PackageTests/BenchmarkExeV10/benchmarks/bench-Foo.hs
diff --git a/cabal/tests/PackageTests/TestSuiteExeV10/my.cabal b/cabal/tests/PackageTests/BenchmarkExeV10/my.cabal
similarity index 74%
copy from cabal/tests/PackageTests/TestSuiteExeV10/my.cabal
copy to cabal/tests/PackageTests/BenchmarkExeV10/my.cabal
index c9d5ef1..e4f2740 100644
--- a/cabal/tests/PackageTests/TestSuiteExeV10/my.cabal
+++ b/cabal/tests/PackageTests/BenchmarkExeV10/my.cabal
@@ -8,8 +8,8 @@ library
exposed-modules: Foo
build-depends: base
-test-suite test-Foo
+benchmark bench-Foo
type: exitcode-stdio-1.0
- hs-source-dirs: tests
- main-is: test-Foo.hs
+ hs-source-dirs: benchmarks
+ main-is: bench-Foo.hs
build-depends: base, my
diff --git a/cabal/tests/suite.hs b/cabal/tests/suite.hs
index f266386..93320ee 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.BenchmarkExeV10.Check
import PackageTests.BenchmarkStanza.Check
import PackageTests.BuildDeps.SameDepsAllRound.Check
import PackageTests.BuildDeps.TargetSpecificDeps1.Check
@@ -48,7 +49,9 @@ tests cabalVersion = [
hunit "PackageTests/TestSuiteExeV10/TestWithHpc"
(PackageTests.TestSuiteExeV10.Check.checkTestWithHpc cabalVersion),
hunit "PackageTests/TestOptions" PackageTests.TestOptions.Check.suite,
- hunit "PackageTests/BenchmarkStanza/" (PackageTests.BenchmarkStanza.Check.suite cabalVersion)
+ hunit "PackageTests/BenchmarkStanza/" (PackageTests.BenchmarkStanza.Check.suite cabalVersion),
+ hunit "PackageTests/BenchmarkExeV10/Test"
+ (PackageTests.BenchmarkExeV10.Check.checkBenchmark cabalVersion)
-- ^ The benchmark stanza test will eventually be required
-- only for higher versions.
] ++
More information about the Cvs-libraries
mailing list