[Haskell-cafe] Automated tests with cabal
Bas van Dijk
v.dijk.bas at gmail.com
Thu Mar 10 10:06:49 CET 2011
On 10 March 2011 08:12, Hauschild, Klaus (EXT)
<klaus.hauschild.ext at siemens.com> wrote:
> Hi Haskellers,
>
> I read about the cabal features for running test code from Setup.hs with
> "defaultMainWithHooks". I'm looking for more generic code that allows me to
> place any haskell in a subdirectory "test" or so and "cabal test" will run
> this test without any modification of my Setup.hs.
>
> Is there a possibility?
There is. The just released Cabal- 1.10.1.0 and cabal-install-0.10.2
have support for test-suites.
The documentation is not online yet so here's an example from my
threads package:
http://code.haskell.org/~basvandijk/code/threads/threads.cabal
Make sure you specify: cabal-version: >= 1.9.2
A test-suite looks a lot like a normal executable section but it has
to specify the test-suite type. Currently only "exitcode-stdio-1.0" is
supported:
test-suite test-threads
type: exitcode-stdio-1.0
main-is: test.hs
build-depends: ...
To run the test-suite you first need to configure it:
$ cabal configure --enable-tests
then build it:
$ cabal build
then run it:
$ cabal test
Running 1 test suites...
Test suite test-threads: RUNNING...
Test suite test-threads: PASS
Test suite logged to: dist/test/threads-0.4-test-threads.log
1 of 1 test suites (1 of 1 test cases) passed.
Good luck,
Bas
More information about the Haskell-Cafe
mailing list