Testing

Unit tests

Tests are mostly written using Cram Tests. The ones that are integrated into documentation are using MDX. You can run them as follow:

$ dune runtest

If you made some changes and the output of some tests is changing, the diff will be displayed. If you want to automatically accept the diff as being the new expected output, you can run:

$ dune promote

Code coverage

You can generate the code coverage report with:

BISECT_FILE=$(pwd)/bisect odune runtest --force --instrument-with bisect_ppx
bisect-ppx-report html -o _coverage
xdg-open _coverage/index.html

Fuzzing

See test/fuzz.