libgit2/tests-clar
Russell Belfer a1683f28ce More tests and bug fixes for status with rename
This changes the behavior of the status RENAMED flags so that they
will be combined with the MODIFIED flags if appropriate.  If a file
is modified in the index and also renamed, then the status code
will have both the GIT_STATUS_INDEX_MODIFIED and INDEX_RENAMED bits
set.  If it is renamed but the OID has not changed, then just the
GIT_STATUS_INDEX_RENAMED bit will be set.  Similarly, the flags
GIT_STATUS_WT_MODIFIED and GIT_STATUS_WT_RENAMED can both be set
independently of one another.

This fixes a serious bug where the check for unmodified files that
was done at data load time could end up erasing the RENAMED state
of a file that was renamed with no changes.

Lastly, this contains a bunch of new tests for status with renames,
including tests where the only rename changes are case changes.
The expected results of these tests have to vary by whether the
platform uses a case sensitive filesystem or not, so the expected
data covers those platform differences separately.
2013-06-17 10:03:49 -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 a80e7f30 2013-01-21 13:39:53 -08: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 Make index_insert keep existing case 2013-06-17 10:03:49 -07:00
fetchhead Reorganize diff and add basic diff driver 2013-06-10 10:10:39 -07:00
index Test has to work on case sensitive systems 2013-06-17 10:03:49 -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 failing unit test for similar renames 2013-06-10 15:16:58 -05: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 Reorganize diff and add basic diff driver 2013-06-10 10:10:39 -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 Extend valgrind suppressions on Mac 2013-05-14 16:39:19 -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.