libgit2/tests-clar
Russell Belfer 74ded02457 Add "as_path" parameters to blob and buffer diffs
This adds parameters to the four functions that allow for blob-to-
blob and blob-to-buffer differencing (either via callbacks or by
making a git_diff_patch object).  These parameters let you say
that filename we should pretend the blob has while doing the diff.
If you pass NULL, there should be no change from the existing
behavior, which is to skip using attributes for file type checks
and just look at content.  With the parameters, you can plug into
the new diff driver functionality and get binary or non-binary
behavior, plus function context regular expressions, etc.

This commit also fixes things so that the git_diff_delta that is
generated by these functions will actually be populated with the
data that we know about the blobs (or buffers) so you can use it
appropriately.  It also fixes a bug in generating patches from
the git_diff_patch objects created via these functions.

Lastly, there is one other behavior change that may matter.  If
there is no difference between the two blobs, these functions no
longer generate any diff callbacks / patches unless you have
passed in GIT_DIFF_INCLUDE_UNMODIFIED.  This is pretty natural,
but could potentially change the behavior of existing usage.
2013-06-17 17:03:34 -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 Add "as_path" parameters to blob and buffer diffs 2013-06-17 17:03:34 -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 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.