libgit2/tests-clar
Russell Belfer 14997dc5f6 More filemode cleanups for FAT on MacOS
This cleans up some additional issues.  The main change is that
on a filesystem that doesn't support mode bits, libgit2 will now
create new blobs with GIT_FILEMODE_BLOB always instead of being
at the mercy to the filesystem driver to report executable or not.
This means that if "core.filemode" lies and claims that filemode
is not supported, then we will ignore the executable bit from the
filesystem.  Previously we would have allowed it.

This adds an option to the new git_repository_reset_filesystem to
recurse through submodules if desired.  There may be other types
of APIs that would like a "recurse submodules" option, but this
one is particularly useful.

This also has a number of cleanups, etc., for related things
including trying to give better error messages when problems come
up from the filesystem.  For example, the FAT filesystem driver on
MacOS appears to return errno EINVAL if you attempt to write a
filename with invalid UTF-8 in it.  We try to capture that with a
better error message now.
2013-10-08 12:45:43 -07:00
..
attr Add attributes to filters and fix registry 2013-09-17 09:31:44 -07:00
buf buf: introduce git_buf_splice() 2012-10-25 17:42:35 +02:00
checkout More cleanups to remove WIN assumptions 2013-10-03 15:16:06 -07:00
clar Update clar 2013-09-04 16:23:00 -07:00
clone Simplify git_path_is_empty_dir implementation 2013-10-03 10:44:13 -07:00
commit commit: Introduce git_commit_message_raw() 2013-10-03 07:59:55 +02:00
config Add negative test cases for config header with invalid characters 2013-10-01 09:56:59 +08:00
core More cleanups to remove WIN assumptions 2013-10-03 15:16:06 -07:00
date Omit failing test on 32-bit machines. 2012-06-06 12:39:29 -07:00
diff More filemode cleanups for FAT on MacOS 2013-10-08 12:45:43 -07:00
fetchhead Reorganize diff and add basic diff driver 2013-06-10 10:10:39 -07:00
filter Bug fixes and cleanups 2013-09-17 09:31:46 -07:00
index More filemode cleanups for FAT on MacOS 2013-10-08 12:45:43 -07:00
merge Initial iconv hookup for precomposed unicode 2013-10-03 10:44:13 -07:00
network HTTP: handle "relative" redirects 2013-10-02 14:45:57 -07:00
notes added missing free for git_note in clar tests 2013-03-06 22:51:20 +01:00
object Port tests from PR 1683 2013-09-17 09:31:45 -07:00
odb odb: Error when streaming in too [few|many] bytes 2013-09-07 23:00:20 +02:00
online Clean up annoying warnings 2013-10-03 10:45:04 -07:00
pack indexer: kill git_indexer 2013-03-03 15:19:21 +01:00
refs More filemode cleanups for FAT on MacOS 2013-10-08 12:45:43 -07:00
repo More cleanups to remove WIN assumptions 2013-10-03 15:16:06 -07:00
reset No such thing as an orphan branch 2013-09-17 09:50:30 +02:00
resources Add test case to test ']' and '\\' characters in config subsection 2013-10-01 09:56:59 +08:00
revwalk merge: reverse array and length parameter order 2013-09-22 05:59:35 +02:00
stash Ensure submodule repos and indices are freed 2013-09-30 14:47:56 -07:00
status Initial iconv hookup for precomposed unicode 2013-10-03 10:44:13 -07:00
stress Add clar helper to create new commit from index 2013-09-17 09:31:46 -07:00
submodule More filemode cleanups for FAT on MacOS 2013-10-08 12:45:43 -07:00
threads Fix typo _delete -> _free 2013-08-29 13:22:44 +02:00
trace Fix trailing whitespaces 2013-05-15 22:41:30 +02:00
clar_libgit2.c More filemode cleanups for FAT on MacOS 2013-10-08 12:45:43 -07:00
clar_libgit2.h Fix warnings 2013-09-26 20:44:43 +02:00
clar.c clar: Fix clar__assert_equal error message formating 2013-09-12 13:54:22 +02:00
clar.h Update clar and recreate cl_assert_equal_sz 2013-09-17 09:31:46 -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 Suppress noise from running Valgrind on OSX 10.8 2013-09-19 10:30:43 -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.