libgit2/tests
Edward Thomson 4be2aa57c9 win32: tests around handling forbidden paths
Introduce a repository that contains some paths that were illegal
on PC-DOS circa 1981 (like `aux`, `con`, `com1`) and that in a
bizarre fit of retrocomputing, remain illegal on some "modern"
computers, despite being "new technology".

Introduce some aspirational tests that suggest that we should be
able to cope with trees and indexes that contain paths that
would be illegal on the filesystem, so that we can at least diff
them.  Further ensure that checkout will not write a repository
with forbidden paths.
2016-02-17 13:10:33 +00:00
..
attr attr tests: make explicit our dir/file match tests 2015-05-13 10:56:55 -04:00
blame blame: use size_t for line counts in git_blame_hunk 2015-12-01 09:02:47 +01:00
buf buf test: cleanup memory leak 2015-02-13 09:28:12 -05:00
checkout checkout test: Apply umask to file-mode test as well 2015-12-01 20:42:56 +01:00
cherrypick merge: rename git_merge_tree_flags_t -> git_merge_flags_t 2015-11-25 15:37:05 -05:00
clar clar: test chdir 2015-06-29 22:13:40 +00:00
clone clone::nonetwork: don't use fixed size buffer 2015-09-14 13:58:38 -04:00
commit commit: Fix memory leak in test suite 2015-12-17 10:13:04 +01:00
config tests: config::stress: free git_config structs 2015-11-24 15:21:52 +01:00
core Fix some warnings 2015-11-20 20:48:51 +02:00
date Added RFC2822 date format test cases 2014-04-11 21:55:36 +02:00
describe describe: only abort without tags if fallback is not allowed. 2015-04-07 17:32:56 +02:00
diff diff: include commit message when formatting patch 2015-12-01 10:12:53 +01:00
fetchhead index, iterator, fetchhead: plug leaks 2015-06-26 19:00:33 +02:00
filter wildcard filters: move CHANGELOG message to 0.23+1 2015-07-10 09:53:30 -05:00
graph Added a no path test for git_graph_descendant_of 2014-04-08 16:32:06 +02:00
index typos in comments 2015-12-21 22:18:07 +03:00
merge recursive merge: add a recursion limit 2015-11-25 16:25:47 -05:00
network Tell the git_transport about the custom_headers 2015-09-08 14:02:33 -04:00
notes note: use a git_buf to return the default namespace 2015-03-17 20:50:02 +01:00
object conflict tests: use GIT_IDXENTRY_STAGE_SET 2015-05-28 09:44:22 -04:00
odb odb: Prioritize alternate backends 2015-10-14 20:53:01 +02:00
online Fix build for unit test 2015-11-02 16:19:25 -05:00
pack Silence unused return value warning 2014-09-26 12:12:09 +02:00
path win32: further cleanups for 8.3 disabling 2015-02-03 20:01:24 -05:00
perf repository: remove log message override for switching the active branch 2015-03-03 14:40:50 +01:00
rebase Fixed unused warning in tests/rebase/merge.c 2015-04-30 14:17:05 +02:00
refs reflog: error when a directory is at reflog path 2015-11-12 09:39:29 -05:00
remote remote: test insteadOf for anonymous remotes 2015-05-31 13:26:05 +02:00
repo repository: distinguish sequencer cherry-pick and revert 2015-11-20 13:19:23 -05:00
reset reset: perform the checkout before moving HEAD or the index 2015-12-09 19:16:11 +01:00
resources win32: tests around handling forbidden paths 2016-02-17 13:10:33 +00:00
revert merge: rename git_merge_tree_flags_t -> git_merge_flags_t 2015-11-25 15:37:05 -05:00
revwalk merge: Fix memory leak in test 2015-11-02 13:47:04 +01:00
stash stash: const up conflict params 2015-06-29 21:23:09 +00:00
status git_futils_mkdir_*: make a relative-to-base mkdir 2015-09-17 10:00:35 -04:00
stress diff: introduce binary diff callbacks 2015-06-12 09:39:20 -04:00
submodule typos in comments 2015-12-21 22:18:07 +03:00
threads iterator: use an options struct instead of args 2015-08-28 18:39:47 -04:00
trace Include stacktrace summary in memory leak output. 2015-06-29 16:39:11 -04:00
transport Clean up some leaks in the test suite 2014-09-17 03:19:40 +02:00
win32 win32: tests around handling forbidden paths 2016-02-17 13:10:33 +00:00
clar_libgit2_timer.c Converted cl_perf_timer to use git__timer internally. 2015-03-03 09:57:50 -05:00
clar_libgit2_timer.h Converted cl_perf_timer to use git__timer internally. 2015-03-03 09:57:50 -05:00
clar_libgit2_trace.c Include stacktrace summary in memory leak output. 2015-06-29 16:39:11 -04:00
clar_libgit2_trace.h Provide mechanism to let CLAR globally setup git_trace() 2015-03-02 08:20:27 -05:00
clar_libgit2.c tests: use out-of-the-way config dir in sandbox 2015-11-17 11:22:01 -05:00
clar_libgit2.h git__getenv: utf-8 aware env reader 2015-07-02 16:35:43 +00:00
clar.c clar: update to 08f434d 2015-03-17 19:04:48 -04:00
clar.h Update to clar 2b73f5e 2015-02-27 00:30:50 -05:00
generate_crlf.sh crlf: script to generate expected crlf data 2015-06-22 11:59:58 -04:00
generate.py Update clar to e3985dd 2014-12-07 22:09:00 +08:00
main.c Include stacktrace summary in memory leak output. 2015-06-29 16:39:11 -04:00
README.md Rename tests-clar to tests 2013-11-14 14:05:52 -08:00
valgrind-supp-mac.txt Test cancel from indexer progress callback 2013-12-11 15:02:20 -08: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.