Bisect_ppx, the coverage tool, now has excellent integration with Dune

Bisect_ppx, the coverage tool, has just had its 2.5.0 release, in which the main addition is a very neat integration with Dune:


dune runtest --instrument-with bisect_ppx --force

This uses the new instrumentation support added in Dune 2.7.0, and is a considerable improvement over the dubious methods Bisect and its users were previously forced to rely on :slight_smile:

It is no longer necessary to edit dune files for a release, as Bisect only becomes a dependency of your project when --instrument-with bisect_ppx is supplied on the Dune command line, which is only during development and in CI. This makes projects ready for release from any commit. Dune also now knows to rebuild affected files when instrumentation is turned on or off, so you don’t have to manually run dune clean in between. Everything just works the way it should.

See the updated instructions for all the details on how to use this integration.

I’ve also adapted Lambda Soup as a simple full-project example. See its opam, dune-project, dune, and Makefile.


Bisect_ppx still supports all the older integrations, so if you have an existing setup, you don’t have to edit it. Support may eventually be removed in the future, however, so I encourage users to gradually update.

See the full changelog for information on bugs fixed by the release.


Thanks to the Dune team for adding --instrument-with, to @undu for supporting it on the Bisect side, and to all the Bisect_ppx users and contributors!


Happy testing!



sample

29 Likes