diff options
author | Russell Belfer <rb@github.com> | 2013-03-05 16:10:05 -0800 |
---|---|---|
committer | Russell Belfer <rb@github.com> | 2013-03-06 16:52:01 -0800 |
commit | 169dc61607b69726c6012ab70758692637928a85 (patch) | |
tree | 01593b00741391d9c9d6aad6344aed4cbc8ef6a4 /tests-clar | |
parent | ed4f95e5d9f2f59dc5d5a4b76a696b0595b6175d (diff) | |
download | libgit2-169dc61607b69726c6012ab70758692637928a85.tar.gz |
Make iterator APIs consistent with standards
The iterator APIs are not currently consistent with the parameter
ordering of the rest of the codebase. This rearranges the order
of parameters, simplifies the naming of a number of functions, and
makes somewhat better use of macros internally to clean up the
iterator code.
This also expands the test coverage of iterator functionality,
making sure that case sensitive range-limited iteration works
correctly.
Diffstat (limited to 'tests-clar')
36 files changed, 291 insertions, 37 deletions
diff --git a/tests-clar/diff/iterator.c b/tests-clar/diff/iterator.c index efdadbf1f..546f68abe 100644 --- a/tests-clar/diff/iterator.c +++ b/tests-clar/diff/iterator.c @@ -35,26 +35,26 @@ static void tree_iterator_test( git_repository *repo = cl_git_sandbox_init(sandbox); cl_assert(t = resolve_commit_oid_to_tree(repo, treeish)); - cl_git_pass(git_iterator_for_tree_range( + cl_git_pass(git_iterator_for_tree( &i, t, GIT_ITERATOR_DONT_IGNORE_CASE, start, end)); /* test loop */ - cl_git_pass(git_iterator_current(i, &entry)); + cl_git_pass(git_iterator_current(&entry, i)); while (entry != NULL) { if (expected_values != NULL) cl_assert_equal_s(expected_values[count], entry->path); count++; - cl_git_pass(git_iterator_advance(i, &entry)); + cl_git_pass(git_iterator_advance(&entry, i)); } /* test reset */ cl_git_pass(git_iterator_reset(i, NULL, NULL)); - cl_git_pass(git_iterator_current(i, &entry)); + cl_git_pass(git_iterator_current(&entry, i)); while (entry != NULL) { if (expected_values != NULL) cl_assert_equal_s(expected_values[count_post_reset], entry->path); count_post_reset++; - cl_git_pass(git_iterator_advance(i, &entry)); + cl_git_pass(git_iterator_advance(&entry, i)); } git_iterator_free(i); @@ -261,30 +261,30 @@ static void check_tree_entry( const git_tree *tree; git_buf path = GIT_BUF_INIT; - cl_git_pass(git_iterator_current_tree_entry(i, &te)); + cl_git_pass(git_iterator_current_tree_entry(&te, i)); cl_assert(te); cl_assert(git_oid_streq(&te->oid, oid) == 0); - cl_git_pass(git_iterator_current(i, &ie)); + cl_git_pass(git_iterator_current(&ie, i)); cl_git_pass(git_buf_sets(&path, ie->path)); if (oid_p) { git_buf_rtruncate_at_char(&path, '/'); - cl_git_pass(git_iterator_current_parent_tree(i, path.ptr, &tree)); + cl_git_pass(git_iterator_current_parent_tree(&tree, i, path.ptr)); cl_assert(tree); cl_assert(git_oid_streq(git_tree_id(tree), oid_p) == 0); } if (oid_pp) { git_buf_rtruncate_at_char(&path, '/'); - cl_git_pass(git_iterator_current_parent_tree(i, path.ptr, &tree)); + cl_git_pass(git_iterator_current_parent_tree(&tree, i, path.ptr)); cl_assert(tree); cl_assert(git_oid_streq(git_tree_id(tree), oid_pp) == 0); } if (oid_ppp) { git_buf_rtruncate_at_char(&path, '/'); - cl_git_pass(git_iterator_current_parent_tree(i, path.ptr, &tree)); + cl_git_pass(git_iterator_current_parent_tree(&tree, i, path.ptr)); cl_assert(tree); cl_assert(git_oid_streq(git_tree_id(tree), oid_ppp) == 0); } @@ -305,9 +305,9 @@ void test_diff_iterator__tree_special_functions(void) repo, "24fa9a9fc4e202313e24b648087495441dab432b"); cl_assert(t != NULL); - cl_git_pass(git_iterator_for_tree_range( + cl_git_pass(git_iterator_for_tree( &i, t, GIT_ITERATOR_DONT_IGNORE_CASE, NULL, NULL)); - cl_git_pass(git_iterator_current(i, &entry)); + cl_git_pass(git_iterator_current(&entry, i)); while (entry != NULL) { if (strcmp(entry->path, "sub/file") == 0) { @@ -339,7 +339,7 @@ void test_diff_iterator__tree_special_functions(void) rootoid, NULL); } - cl_git_pass(git_iterator_advance(i, &entry)); + cl_git_pass(git_iterator_advance(&entry, i)); } cl_assert_equal_i(4, cases); @@ -364,8 +364,8 @@ static void index_iterator_test( git_repository *repo = cl_git_sandbox_init(sandbox); cl_git_pass(git_repository_index(&index, repo)); - cl_git_pass(git_iterator_for_index_range(&i, index, 0, start, end)); - cl_git_pass(git_iterator_current(i, &entry)); + cl_git_pass(git_iterator_for_index(&i, index, 0, start, end)); + cl_git_pass(git_iterator_current(&entry, i)); while (entry != NULL) { if (expected_names != NULL) @@ -378,7 +378,7 @@ static void index_iterator_test( } count++; - cl_git_pass(git_iterator_advance(i, &entry)); + cl_git_pass(git_iterator_advance(&entry, i)); } git_iterator_free(i); @@ -538,14 +538,14 @@ static void workdir_iterator_test( int count = 0, count_all = 0, count_all_post_reset = 0; git_repository *repo = cl_git_sandbox_init(sandbox); - cl_git_pass(git_iterator_for_workdir_range(&i, repo, 0, start, end)); - cl_git_pass(git_iterator_current(i, &entry)); + cl_git_pass(git_iterator_for_workdir(&i, repo, 0, start, end)); + cl_git_pass(git_iterator_current(&entry, i)); while (entry != NULL) { int ignored = git_iterator_current_is_ignored(i); if (S_ISDIR(entry->mode)) { - cl_git_pass(git_iterator_advance_into_directory(i, &entry)); + cl_git_pass(git_iterator_advance_into(&entry, i)); continue; } @@ -559,22 +559,22 @@ static void workdir_iterator_test( count++; count_all++; - cl_git_pass(git_iterator_advance(i, &entry)); + cl_git_pass(git_iterator_advance(&entry, i)); } cl_git_pass(git_iterator_reset(i, NULL, NULL)); - cl_git_pass(git_iterator_current(i, &entry)); + cl_git_pass(git_iterator_current(&entry, i)); while (entry != NULL) { if (S_ISDIR(entry->mode)) { - cl_git_pass(git_iterator_advance_into_directory(i, &entry)); + cl_git_pass(git_iterator_advance_into(&entry, i)); continue; } if (expected_names != NULL) cl_assert_equal_s( expected_names[count_all_post_reset], entry->path); count_all_post_reset++; - cl_git_pass(git_iterator_advance(i, &entry)); + cl_git_pass(git_iterator_advance(&entry, i)); } git_iterator_free(i); @@ -736,8 +736,8 @@ void test_diff_iterator__workdir_builtin_ignores(void) cl_git_mkfile("attr/sub/.git", "whatever"); cl_git_pass( - git_iterator_for_workdir_range(&i, repo, 0, "dir", "sub/sub/file")); - cl_git_pass(git_iterator_current(i, &entry)); + git_iterator_for_workdir(&i, repo, 0, "dir", "sub/sub/file")); + cl_git_pass(git_iterator_current(&entry, i)); for (idx = 0; entry != NULL; ++idx) { int ignored = git_iterator_current_is_ignored(i); @@ -746,9 +746,9 @@ void test_diff_iterator__workdir_builtin_ignores(void) cl_assert_(ignored == expected[idx].ignored, expected[idx].path); if (!ignored && S_ISDIR(entry->mode)) - cl_git_pass(git_iterator_advance_into_directory(i, &entry)); + cl_git_pass(git_iterator_advance_into(&entry, i)); else - cl_git_pass(git_iterator_advance(i, &entry)); + cl_git_pass(git_iterator_advance(&entry, i)); } cl_assert(expected[idx].path == NULL); @@ -764,17 +764,17 @@ static void check_wd_first_through_third_range( int idx; static const char *expected[] = { "FIRST", "second", "THIRD", NULL }; - cl_git_pass(git_iterator_for_workdir_range( + cl_git_pass(git_iterator_for_workdir( &i, repo, GIT_ITERATOR_IGNORE_CASE, start, end)); - cl_git_pass(git_iterator_current(i, &entry)); + cl_git_pass(git_iterator_current(&entry, i)); for (idx = 0; entry != NULL; ++idx) { cl_assert_equal_s(expected[idx], entry->path); if (S_ISDIR(entry->mode)) - cl_git_pass(git_iterator_advance_into_directory(i, &entry)); + cl_git_pass(git_iterator_advance_into(&entry, i)); else - cl_git_pass(git_iterator_advance(i, &entry)); + cl_git_pass(git_iterator_advance(&entry, i)); } cl_assert(expected[idx] == NULL); @@ -817,16 +817,16 @@ static void check_tree_range( cl_git_pass(git_repository_head_tree(&head, repo)); - cl_git_pass(git_iterator_for_tree_range( + cl_git_pass(git_iterator_for_tree( &i, head, ignore_case ? GIT_ITERATOR_IGNORE_CASE : GIT_ITERATOR_DONT_IGNORE_CASE, start, end)); - cl_git_pass(git_iterator_current(i, &entry)); + cl_git_pass(git_iterator_current(&entry, i)); for (count = 0; entry != NULL; ) { ++count; - cl_git_pass(git_iterator_advance(i, &entry)); + cl_git_pass(git_iterator_advance(&entry, i)); } cl_assert_equal_i(expected_count, count); @@ -882,15 +882,15 @@ static void check_index_range( if (ignore_case != is_ignoring_case) cl_git_pass(git_index_set_caps(index, caps ^ GIT_INDEXCAP_IGNORE_CASE)); - cl_git_pass(git_iterator_for_index_range(&i, index, 0, start, end)); + cl_git_pass(git_iterator_for_index(&i, index, 0, start, end)); cl_assert(git_iterator_ignore_case(i) == ignore_case); - cl_git_pass(git_iterator_current(i, &entry)); + cl_git_pass(git_iterator_current(&entry, i)); for (count = 0; entry != NULL; ) { ++count; - cl_git_pass(git_iterator_advance(i, &entry)); + cl_git_pass(git_iterator_advance(&entry, i)); } cl_assert_equal_i(expected_count, count); diff --git a/tests-clar/repo/iterator.c b/tests-clar/repo/iterator.c new file mode 100644 index 000000000..9a3815a03 --- /dev/null +++ b/tests-clar/repo/iterator.c @@ -0,0 +1,210 @@ +#include "clar_libgit2.h" +#include "iterator.h" +#include "repository.h" + +static git_repository *g_repo; + +void test_repo_iterator__initialize(void) +{ + g_repo = cl_git_sandbox_init("icase"); +} + +void test_repo_iterator__cleanup(void) +{ + cl_git_sandbox_cleanup(); + g_repo = NULL; +} + +static void expect_iterator_items( + git_iterator *i, int expected_flat, int expected_total) +{ + const git_index_entry *entry; + int count; + + count = 0; + cl_git_pass(git_iterator_current(&entry, i)); + + while (entry != NULL) { + count++; + + cl_git_pass(git_iterator_advance(&entry, i)); + + if (count > expected_flat) + break; + } + + cl_assert_equal_i(expected_flat, count); + + cl_git_pass(git_iterator_reset(i, NULL, NULL)); + + count = 0; + cl_git_pass(git_iterator_current(&entry, i)); + + while (entry != NULL) { + count++; + + if (entry->mode == GIT_FILEMODE_TREE) + cl_git_pass(git_iterator_advance_into(&entry, i)); + else + cl_git_pass(git_iterator_advance(&entry, i)); + + if (count > expected_total) + break; + } + + cl_assert_equal_i(expected_total, count); +} + +/* Index contents (including pseudotrees): + * + * 0: a 5: F 10: k/ 16: L/ + * 1: B 6: g 11: k/1 17: L/1 + * 2: c 7: H 12: k/a 18: L/a + * 3: D 8: i 13: k/B 19: L/B + * 4: e 9: J 14: k/c 20: L/c + * 15: k/D 21: L/D + * + * 0: B 5: L/ 11: a 16: k/ + * 1: D 6: L/1 12: c 17: k/1 + * 2: F 7: L/B 13: e 18: k/B + * 3: H 8: L/D 14: g 19: k/D + * 4: J 9: L/a 15: i 20: k/a + * 10: L/c 21: k/c + */ + +void test_repo_iterator__index(void) +{ + git_iterator *i; + git_index *index; + + cl_git_pass(git_repository_index(&index, g_repo)); + + /* normal index iteration */ + cl_git_pass(git_iterator_for_index(&i, index, 0, NULL, NULL)); + expect_iterator_items(i, 20, 20); + git_iterator_free(i); + + git_index_free(index); +} + +void test_repo_iterator__index_icase(void) +{ + git_iterator *i; + git_index *index; + unsigned int caps; + + cl_git_pass(git_repository_index(&index, g_repo)); + caps = git_index_caps(index); + + /* force case sensitivity */ + cl_git_pass(git_index_set_caps(index, caps & ~GIT_INDEXCAP_IGNORE_CASE)); + + /* normal index iteration with range */ + cl_git_pass(git_iterator_for_index(&i, index, 0, "c", "k/D")); + expect_iterator_items(i, 7, 7); + git_iterator_free(i); + + cl_git_pass(git_iterator_for_index(&i, index, 0, "k", "k/Z")); + expect_iterator_items(i, 3, 3); + git_iterator_free(i); + + /* force case insensitivity */ + cl_git_pass(git_index_set_caps(index, caps | GIT_INDEXCAP_IGNORE_CASE)); + + /* normal index iteration with range */ + cl_git_pass(git_iterator_for_index(&i, index, 0, "c", "k/D")); + expect_iterator_items(i, 13, 13); + git_iterator_free(i); + + cl_git_pass(git_iterator_for_index(&i, index, 0, "k", "k/Z")); + expect_iterator_items(i, 5, 5); + git_iterator_free(i); + + cl_git_pass(git_index_set_caps(index, caps)); + git_index_free(index); +} + +void test_repo_iterator__tree(void) +{ + git_iterator *i; + git_tree *head; + + cl_git_pass(git_repository_head_tree(&head, g_repo)); + + /* normal tree iteration */ + cl_git_pass(git_iterator_for_tree(&i, head, 0, NULL, NULL)); + expect_iterator_items(i, 20, 20); + git_iterator_free(i); + + git_tree_free(head); +} + +void test_repo_iterator__tree_icase(void) +{ + git_iterator *i; + git_tree *head; + git_iterator_flag_t flag; + + cl_git_pass(git_repository_head_tree(&head, g_repo)); + + flag = GIT_ITERATOR_DONT_IGNORE_CASE; + + /* normal tree iteration with range */ + cl_git_pass(git_iterator_for_tree(&i, head, flag, "c", "k/D")); + expect_iterator_items(i, 7, 7); + git_iterator_free(i); + + cl_git_pass(git_iterator_for_tree(&i, head, flag, "k", "k/Z")); + expect_iterator_items(i, 3, 3); + git_iterator_free(i); + + flag = GIT_ITERATOR_IGNORE_CASE; + + /* normal tree iteration with range */ + cl_git_pass(git_iterator_for_tree(&i, head, flag, "c", "k/D")); + expect_iterator_items(i, 13, 13); + git_iterator_free(i); + + cl_git_pass(git_iterator_for_tree(&i, head, flag, "k", "k/Z")); + expect_iterator_items(i, 5, 5); + git_iterator_free(i); +} + +void test_repo_iterator__workdir(void) +{ + git_iterator *i; + + /* normal workdir iteration uses explicit tree expansion */ + cl_git_pass(git_iterator_for_workdir( + &i, g_repo, 0, NULL, NULL)); + expect_iterator_items(i, 12, 22); + git_iterator_free(i); +} + +void test_repo_iterator__workdir_icase(void) +{ + git_iterator *i; + git_iterator_flag_t flag; + + flag = GIT_ITERATOR_DONT_IGNORE_CASE; + + /* normal workdir iteration with range */ + cl_git_pass(git_iterator_for_workdir(&i, g_repo, flag, "c", "k/D")); + expect_iterator_items(i, 5, 8); + git_iterator_free(i); + + cl_git_pass(git_iterator_for_workdir(&i, g_repo, flag, "k", "k/Z")); + expect_iterator_items(i, 1, 4); + git_iterator_free(i); + + flag = GIT_ITERATOR_IGNORE_CASE; + + /* normal workdir iteration with range */ + cl_git_pass(git_iterator_for_workdir(&i, g_repo, flag, "c", "k/D")); + expect_iterator_items(i, 9, 14); + git_iterator_free(i); + + cl_git_pass(git_iterator_for_workdir(&i, g_repo, flag, "k", "k/Z")); + expect_iterator_items(i, 1, 6); + git_iterator_free(i); +} diff --git a/tests-clar/resources/icase/.gitted/HEAD b/tests-clar/resources/icase/.gitted/HEAD new file mode 100644 index 000000000..cb089cd89 --- /dev/null +++ b/tests-clar/resources/icase/.gitted/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/tests-clar/resources/icase/.gitted/config b/tests-clar/resources/icase/.gitted/config new file mode 100644 index 000000000..bb4d11c1f --- /dev/null +++ b/tests-clar/resources/icase/.gitted/config @@ -0,0 +1,7 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + ignorecase = true + precomposeunicode = false diff --git a/tests-clar/resources/icase/.gitted/description b/tests-clar/resources/icase/.gitted/description new file mode 100644 index 000000000..498b267a8 --- /dev/null +++ b/tests-clar/resources/icase/.gitted/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/tests-clar/resources/icase/.gitted/index b/tests-clar/resources/icase/.gitted/index Binary files differnew file mode 100644 index 000000000..f8288ec13 --- /dev/null +++ b/tests-clar/resources/icase/.gitted/index diff --git a/tests-clar/resources/icase/.gitted/info/exclude b/tests-clar/resources/icase/.gitted/info/exclude new file mode 100644 index 000000000..a5196d1be --- /dev/null +++ b/tests-clar/resources/icase/.gitted/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/tests-clar/resources/icase/.gitted/logs/HEAD b/tests-clar/resources/icase/.gitted/logs/HEAD new file mode 100644 index 000000000..3b16bd163 --- /dev/null +++ b/tests-clar/resources/icase/.gitted/logs/HEAD @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 76d6e1d231b1085fcce151427e9899335de74be6 Russell Belfer <rb@github.com> 1359157123 -0800 commit (initial): initial commit diff --git a/tests-clar/resources/icase/.gitted/logs/refs/heads/master b/tests-clar/resources/icase/.gitted/logs/refs/heads/master new file mode 100644 index 000000000..3b16bd163 --- /dev/null +++ b/tests-clar/resources/icase/.gitted/logs/refs/heads/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 76d6e1d231b1085fcce151427e9899335de74be6 Russell Belfer <rb@github.com> 1359157123 -0800 commit (initial): initial commit diff --git a/tests-clar/resources/icase/.gitted/objects/3e/257c57f136a1cb8f2b8e9a2e5bc8ec0258bdce b/tests-clar/resources/icase/.gitted/objects/3e/257c57f136a1cb8f2b8e9a2e5bc8ec0258bdce Binary files differnew file mode 100644 index 000000000..10691c788 --- /dev/null +++ b/tests-clar/resources/icase/.gitted/objects/3e/257c57f136a1cb8f2b8e9a2e5bc8ec0258bdce diff --git a/tests-clar/resources/icase/.gitted/objects/4d/d6027d083575c7431396dc2a3174afeb393c93 b/tests-clar/resources/icase/.gitted/objects/4d/d6027d083575c7431396dc2a3174afeb393c93 Binary files differnew file mode 100644 index 000000000..8ca70df17 --- /dev/null +++ b/tests-clar/resources/icase/.gitted/objects/4d/d6027d083575c7431396dc2a3174afeb393c93 diff --git a/tests-clar/resources/icase/.gitted/objects/62/e0af52c199ec731fe4ad230041cd3286192d49 b/tests-clar/resources/icase/.gitted/objects/62/e0af52c199ec731fe4ad230041cd3286192d49 Binary files differnew file mode 100644 index 000000000..e264aeab3 --- /dev/null +++ b/tests-clar/resources/icase/.gitted/objects/62/e0af52c199ec731fe4ad230041cd3286192d49 diff --git a/tests-clar/resources/icase/.gitted/objects/76/d6e1d231b1085fcce151427e9899335de74be6 b/tests-clar/resources/icase/.gitted/objects/76/d6e1d231b1085fcce151427e9899335de74be6 new file mode 100644 index 000000000..24a4b3ee3 --- /dev/null +++ b/tests-clar/resources/icase/.gitted/objects/76/d6e1d231b1085fcce151427e9899335de74be6 @@ -0,0 +1,3 @@ +x 1ENӀc XdƉ&/usԛ8}2
SH, +am1ЋEѷ9CJ$
nܷA +bଃjO_SO9%)9
\ No newline at end of file diff --git a/tests-clar/resources/icase/.gitted/objects/d4/4e18fb93b7107b5cd1b95d601591d77869a1b6 b/tests-clar/resources/icase/.gitted/objects/d4/4e18fb93b7107b5cd1b95d601591d77869a1b6 Binary files differnew file mode 100644 index 000000000..32d8c499f --- /dev/null +++ b/tests-clar/resources/icase/.gitted/objects/d4/4e18fb93b7107b5cd1b95d601591d77869a1b6 diff --git a/tests-clar/resources/icase/.gitted/refs/heads/master b/tests-clar/resources/icase/.gitted/refs/heads/master new file mode 100644 index 000000000..37410ec2a --- /dev/null +++ b/tests-clar/resources/icase/.gitted/refs/heads/master @@ -0,0 +1 @@ +76d6e1d231b1085fcce151427e9899335de74be6 diff --git a/tests-clar/resources/icase/B b/tests-clar/resources/icase/B new file mode 100644 index 000000000..d44e18fb9 --- /dev/null +++ b/tests-clar/resources/icase/B @@ -0,0 +1 @@ +start diff --git a/tests-clar/resources/icase/D b/tests-clar/resources/icase/D new file mode 100644 index 000000000..d44e18fb9 --- /dev/null +++ b/tests-clar/resources/icase/D @@ -0,0 +1 @@ +start diff --git a/tests-clar/resources/icase/F b/tests-clar/resources/icase/F new file mode 100644 index 000000000..d44e18fb9 --- /dev/null +++ b/tests-clar/resources/icase/F @@ -0,0 +1 @@ +start diff --git a/tests-clar/resources/icase/H b/tests-clar/resources/icase/H new file mode 100644 index 000000000..d44e18fb9 --- /dev/null +++ b/tests-clar/resources/icase/H @@ -0,0 +1 @@ +start diff --git a/tests-clar/resources/icase/J b/tests-clar/resources/icase/J new file mode 100644 index 000000000..d44e18fb9 --- /dev/null +++ b/tests-clar/resources/icase/J @@ -0,0 +1 @@ +start diff --git a/tests-clar/resources/icase/L/1 b/tests-clar/resources/icase/L/1 new file mode 100644 index 000000000..62e0af52c --- /dev/null +++ b/tests-clar/resources/icase/L/1 @@ -0,0 +1 @@ +sub diff --git a/tests-clar/resources/icase/L/B b/tests-clar/resources/icase/L/B new file mode 100644 index 000000000..62e0af52c --- /dev/null +++ b/tests-clar/resources/icase/L/B @@ -0,0 +1 @@ +sub diff --git a/tests-clar/resources/icase/L/D b/tests-clar/resources/icase/L/D new file mode 100644 index 000000000..62e0af52c --- /dev/null +++ b/tests-clar/resources/icase/L/D @@ -0,0 +1 @@ +sub diff --git a/tests-clar/resources/icase/L/a b/tests-clar/resources/icase/L/a new file mode 100644 index 000000000..62e0af52c --- /dev/null +++ b/tests-clar/resources/icase/L/a @@ -0,0 +1 @@ +sub diff --git a/tests-clar/resources/icase/L/c b/tests-clar/resources/icase/L/c new file mode 100644 index 000000000..62e0af52c --- /dev/null +++ b/tests-clar/resources/icase/L/c @@ -0,0 +1 @@ +sub diff --git a/tests-clar/resources/icase/a b/tests-clar/resources/icase/a new file mode 100644 index 000000000..d44e18fb9 --- /dev/null +++ b/tests-clar/resources/icase/a @@ -0,0 +1 @@ +start diff --git a/tests-clar/resources/icase/c b/tests-clar/resources/icase/c new file mode 100644 index 000000000..d44e18fb9 --- /dev/null +++ b/tests-clar/resources/icase/c @@ -0,0 +1 @@ +start diff --git a/tests-clar/resources/icase/e b/tests-clar/resources/icase/e new file mode 100644 index 000000000..d44e18fb9 --- /dev/null +++ b/tests-clar/resources/icase/e @@ -0,0 +1 @@ +start diff --git a/tests-clar/resources/icase/g b/tests-clar/resources/icase/g new file mode 100644 index 000000000..d44e18fb9 --- /dev/null +++ b/tests-clar/resources/icase/g @@ -0,0 +1 @@ +start diff --git a/tests-clar/resources/icase/i b/tests-clar/resources/icase/i new file mode 100644 index 000000000..d44e18fb9 --- /dev/null +++ b/tests-clar/resources/icase/i @@ -0,0 +1 @@ +start diff --git a/tests-clar/resources/icase/k/1 b/tests-clar/resources/icase/k/1 new file mode 100644 index 000000000..62e0af52c --- /dev/null +++ b/tests-clar/resources/icase/k/1 @@ -0,0 +1 @@ +sub diff --git a/tests-clar/resources/icase/k/B b/tests-clar/resources/icase/k/B new file mode 100644 index 000000000..62e0af52c --- /dev/null +++ b/tests-clar/resources/icase/k/B @@ -0,0 +1 @@ +sub diff --git a/tests-clar/resources/icase/k/D b/tests-clar/resources/icase/k/D new file mode 100644 index 000000000..62e0af52c --- /dev/null +++ b/tests-clar/resources/icase/k/D @@ -0,0 +1 @@ +sub diff --git a/tests-clar/resources/icase/k/a b/tests-clar/resources/icase/k/a new file mode 100644 index 000000000..62e0af52c --- /dev/null +++ b/tests-clar/resources/icase/k/a @@ -0,0 +1 @@ +sub diff --git a/tests-clar/resources/icase/k/c b/tests-clar/resources/icase/k/c new file mode 100644 index 000000000..62e0af52c --- /dev/null +++ b/tests-clar/resources/icase/k/c @@ -0,0 +1 @@ +sub diff --git a/tests-clar/status/worktree.c b/tests-clar/status/worktree.c index e1fc8dff8..b5449f6f1 100644 --- a/tests-clar/status/worktree.c +++ b/tests-clar/status/worktree.c @@ -274,6 +274,7 @@ void test_status_worktree__issue_592(void) repo = cl_git_sandbox_init("issue_592"); cl_git_pass(git_buf_joinpath(&path, git_repository_workdir(repo), "l.txt")); cl_git_pass(p_unlink(git_buf_cstr(&path))); + cl_assert(!git_path_exists("issue_592/l.txt")); cl_git_pass(git_status_foreach(repo, cb_status__check_592, "l.txt")); @@ -288,6 +289,7 @@ void test_status_worktree__issue_592_2(void) repo = cl_git_sandbox_init("issue_592"); cl_git_pass(git_buf_joinpath(&path, git_repository_workdir(repo), "c/a.txt")); cl_git_pass(p_unlink(git_buf_cstr(&path))); + cl_assert(!git_path_exists("issue_592/c/a.txt")); cl_git_pass(git_status_foreach(repo, cb_status__check_592, "c/a.txt")); @@ -303,6 +305,7 @@ void test_status_worktree__issue_592_3(void) cl_git_pass(git_buf_joinpath(&path, git_repository_workdir(repo), "c")); cl_git_pass(git_futils_rmdir_r(git_buf_cstr(&path), NULL, GIT_RMDIR_REMOVE_FILES)); + cl_assert(!git_path_exists("issue_592/c/a.txt")); cl_git_pass(git_status_foreach(repo, cb_status__check_592, "c/a.txt")); |