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
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!