aboutsummaryrefslogtreecommitdiff
path: root/docs/testing.md
blob: 71a80b6e5e10ad72b4d93901fac38ba04f09020c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Testing
=======

Running `make test` runs most of the integrated tests. You should have
`valgrind` installed.

Running `make pre-push` runs the above builds and tests in different configurations: GCC,
clang, and with ASAN enabled.

There are some [older unit tests](test/unit-tests.c) written in C, but most
tests are now done via Python, in the [test/py](test/py) sub-directory. You can
run just the Python tests via `make pytest` or `make pytest-valgrind`.

The master branch is run through [Coverity](scan.coverity.com) when a new PR
lands.

You can also run `make gcov` to get code coverage reports.

Debugging Test Errors
---------------------

Sometimes debugging Valgrind errors on Python unit tests can be tricky. To
run specific tests use the pytest `-k` option in `PYTESTCMD` in the Makefile.