## Testing and Code Coverage

As a general rule changes to p11-kit should have a tests exercising that change. Use the `make check` command to run all the tests. If you run it from a subdirectory only the tests in that directory will be run.

To check for memory errors or memory leaks, run `make memcheck` or `make leakcheck` respectively. This requires valgrind be installed.

Build p11-kit with the `--enable-coverage` configure option to build code coverage support.

Once you've done that you can either use `make coverage` to build code coverage information. Alternatively (and this is usually easier) you can use `git coverage` to easily check whether you've tested the lines changed by a patch.

A code coverage report is available online

.