summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Coup <robert.coup@koordinates.com>2019-06-10 12:27:12 +0100
committerRobert Coup <robert@coup.net.nz>2019-06-12 00:05:46 +0100
commitb3196a60c53463a492cf02332541fab8dc9ee504 (patch)
treef3348bb07a8719318493f9925f3c66fe5a127c36
parentf4584a1e8bf3095b90f5564c0f89878ef79855c5 (diff)
downloadlibgit2-b3196a60c53463a492cf02332541fab8dc9ee504.tar.gz
Add memleak check docs
Document how to run it locally on macOS & Linux
-rw-r--r--tests/README.md26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/README.md b/tests/README.md
index 3aeaaf464..b1d70d3bc 100644
--- a/tests/README.md
+++ b/tests/README.md
@@ -20,3 +20,29 @@ https://github.com/vmg/clar
* Make sure everything is fine.
* Send your pull request. That's it.
+
+
+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
+```