README.md 1.11 KB
Newer Older
1
Writing Clar tests for libgit2
schu committed
2 3
==============================

4
For information on the Clar testing framework and a detailed introduction
schu committed
5 6
please visit:

7
https://github.com/vmg/clar
schu committed
8 9 10 11 12 13


* Write your modules and tests. Use good, meaningful names.

* Make sure you actually build the tests by setting:

14
        cmake -DBUILD_CLAR=ON build/
schu committed
15 16 17

* Test:

18
        ./build/libgit2_clar
schu committed
19 20 21 22

* Make sure everything is fine.

* Send your pull request. That's it.
Robert Coup committed
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48


Memory leak checks
------------------

These are automatically run as part of CI, but if you want to check locally:

#### Linux

Uses [`valgrind`](http://www.valgrind.org/):

```console
$ cmake -DBUILD_CLAR=ON -DVALGRIND=ON ..
$ cmake --build .
$ valgrind --leak-check=full --show-reachable=yes --num-callers=50 --suppressions=../libgit2_clar.supp \
  ./libgit2_clar
```

#### macOS

Uses [`leaks`](https://developer.apple.com/library/archive/documentation/Performance/Conceptual/ManagingMemory/Articles/FindingLeaks.html), which requires XCode installed:

```console
$ MallocStackLogging=1 MallocScribble=1 MallocLogFile=/dev/null CLAR_AT_EXIT="leaks -quiet \$PPID" \
  ./libgit2_clar
```