libgit2/tests-clar
Russell Belfer 7863523a1b Add tests and fix use of freed memory
This adds some tests for updating the index and having it remove
items to make sure that the iteration over the index still works
even as earlier items are removed.

In testing with valgrind, this found a path that would use the
path string from the index entry after it had been freed.  The
bug fix is simply to copy the path of the index entry before
doing any actual index manipulation.
2013-06-19 15:54:19 -07:00
..
attr allow (ignore) bare slash in gitignore 2013-05-29 16:26:25 -05:00
buf buf: introduce git_buf_splice() 2012-10-25 17:42:35 +02:00
checkout Reorganize diff and add basic diff driver 2013-06-10 10:10:39 -07:00
clar Update clar to latest version 2013-06-17 10:23:53 -07:00
clone Reorganize diff and add basic diff driver 2013-06-10 10:10:39 -07:00
commit signature: extend trimming to more whitespace 2013-06-11 11:01:45 +02:00
config config: convenience function to open global/xdg 2013-05-07 21:42:56 +02:00
core git__strcasesort_cmp: strcasecmp sorting rules but requires strict equality 2013-06-17 10:03:15 -07:00
date Omit failing test on 32-bit machines. 2012-06-06 12:39:29 -07:00
diff Fix rename looped reference issues 2013-06-18 16:14:35 -07:00
fetchhead Reorganize diff and add basic diff driver 2013-06-10 10:10:39 -07:00
index Add tests and fix use of freed memory 2013-06-19 15:54:19 -07:00
merge Reorganize diff and add basic diff driver 2013-06-10 10:10:39 -07:00
network remote: make default tag retrieving behaviour consistent 2013-05-30 17:59:11 +02:00
notes added missing free for git_note in clar tests 2013-03-06 22:51:20 +01:00
object Fix memory leak in oid shortener tests 2013-05-29 09:18:21 -07:00
odb Reorganize diff and add basic diff driver 2013-06-10 10:10:39 -07:00
online Reorganize diff and add basic diff driver 2013-06-10 10:10:39 -07:00
pack indexer: kill git_indexer 2013-03-03 15:19:21 +01:00
refs ref: free the last ref when cancelling git_branch_foreach() 2013-06-17 18:29:05 +02:00
repo Reorganize diff and add basic diff driver 2013-06-10 10:10:39 -07:00
reset introduce git_conflict_iterator 2013-05-17 16:10:48 -05:00
resources test failure when renames produce similar similarities 2013-06-18 09:39:10 -07:00
revwalk revwalk: Parse revision ranges 2013-04-06 20:51:16 -07:00
stash Plug a couple of leaks 2013-04-20 16:20:33 +02:00
status More tests and bug fixes for status with rename 2013-06-17 10:03:49 -07:00
submodule Improve case handling in git_diff__paired_foreach 2013-06-17 10:03:49 -07:00
threads tests: fix code style in threads/basic.c 2013-02-07 02:04:17 -08:00
trace Fix trailing whitespaces 2013-05-15 22:41:30 +02:00
clar_libgit2.c Improve ignore handling in git_status_file 2013-05-10 07:50:53 -07:00
clar_libgit2.h Improve ignore handling in git_status_file 2013-05-10 07:50:53 -07:00
clar.c Update clar to latest version 2013-06-17 10:23:53 -07:00
clar.h Update to latest Clar 2013-03-22 14:23:18 -07:00
generate.py Update to latest Clar 2013-03-22 14:23:18 -07:00
main.c clar: haha 2013-01-04 20:02:01 +01:00
README.md Update README because vmg is @vmg. 2012-10-19 14:05:55 -07:00
valgrind-supp-mac.txt Fix memory leaks in diff rename tests 2013-06-17 10:03:50 -07:00

Writing Clar tests for libgit2

For information on the Clar testing framework and a detailed introduction please visit:

https://github.com/vmg/clar

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

  • Make sure you actually build the tests by setting:

      cmake -DBUILD_CLAR=ON build/
    
  • Test:

      ./build/libgit2_clar
    
  • Make sure everything is fine.

  • Send your pull request. That's it.