[Haskell-cafe] The State of Testing?
mkscrg at gmail.com
Wed Feb 8 16:06:26 CET 2012
Thanks Thomas, that new flag is great.
On Tue, Feb 7, 2012 at 10:03 PM, Thomas Tuegel <ttuegel at gmail.com> wrote:
> On Tue, Feb 7, 2012 at 3:23 PM, Austin Seipp <mad.one at gmail.com> wrote:
> > If you're writing a library, you need to compile the library with
> > `-fhpc`, i.e. put it in the library stanza, not the testsuite stanza,
> > and then you can compile the test program using your library - the
> > resulting 'tix' file will contain the library coverage reports. You
> > can link a HPC-built library into an executable not compiled with HPC
> > just fine.
> > Normally I only compile the library under HPC mode, link it in a test,
> > and distribute the results from that. That way your coverage reports
> > don't include the test module (which may or may not be relevant.)
> > I normally add a cabal flag called 'hpc' which optionally enables
> > coverage reports for my library, e.g.
> > flag hpc
> > default: False
> > library
> > ...
> > ...
> > if flag(hpc)
> > ghc-options: -fhpc
> > Then when you want coverage reports, just say 'cabal install -fhpc
> > --enable-tests' and the resulting properties executable will spit out
> > the results when run.
> First, as author of the test suite code, let me apologize for the
> terrible documentation.
> This is absolutely NOT how coverage reports are supposed to work. If
> you configure with '--enable-tests --enable-library-coverage', Cabal
> will take care of _everything_ else for you, including excluding the
> test module from the coverage report. You should not have to put any
> flag gymnastics in your .cabal file.
> If this doesn't work for you, please let me know, because it's a bug.
> Thomas Tuegel
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Libraries