## Testing and Code Coverage

Low level input parsers and such code should have unit tests exercising it. 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 adcli 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.