I have a Haskell project and Cabal package-description that allows me to build and install my package with
$ cabal configure $ cabal build $ cabal install
But what about cabal test
? Cabal's help says to configure a test suite with UserHooks, but how can I do that?
As Duncan mentioned in Greg's answer, Cabal-1.10 has support for test suites out of the box.
The manual seems to have the best information that's I've found regarding how to make use of this.
Here's a snippet from the manual which shows how to use the exitcode-stdio
test type:
foo.cabal
Name: foo
Version: 1.0
License: BSD3
Cabal-Version: >= 1.9.2
Build-Type: Simple
Test-Suite test-foo
type: exitcode-stdio-1.0
main-is: test-foo.hs
build-depends: base
test-foo.hs:
module Main where
import System.Exit (exitFailure)
main = do
putStrLn "This test always fails!"
exitFailure
For one approach, see Setting up a simple test with Cabal.
This approach has drawbacks, and there's an open Cabal ticket that suggests being able to specify tests more directly, e.g.,
test
test-is: Test
build-depends: QuickCheck
hs-source-dirs: tests src
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With