mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-29 22:25:04 +00:00
Extend diff helpers for tests a little
This commit is contained in:
parent
dfbff793b8
commit
71966e2f1b
@ -30,10 +30,13 @@ int diff_file_fn(
|
|||||||
|
|
||||||
GIT_UNUSED(progress);
|
GIT_UNUSED(progress);
|
||||||
|
|
||||||
if (delta->binary)
|
|
||||||
e->at_least_one_of_them_is_binary = true;
|
|
||||||
|
|
||||||
e->files++;
|
e->files++;
|
||||||
|
|
||||||
|
if (delta->binary) {
|
||||||
|
e->at_least_one_of_them_is_binary = true;
|
||||||
|
e->files_binary++;
|
||||||
|
}
|
||||||
|
|
||||||
switch (delta->status) {
|
switch (delta->status) {
|
||||||
case GIT_DELTA_ADDED: e->file_adds++; break;
|
case GIT_DELTA_ADDED: e->file_adds++; break;
|
||||||
case GIT_DELTA_DELETED: e->file_dels++; break;
|
case GIT_DELTA_DELETED: e->file_dels++; break;
|
||||||
@ -180,3 +183,25 @@ abort:
|
|||||||
giterr_clear();
|
giterr_clear();
|
||||||
return GIT_EUSER;
|
return GIT_EUSER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int diff_print_cb(
|
||||||
|
void *cb_data,
|
||||||
|
const git_diff_delta *delta,
|
||||||
|
const git_diff_range *range,
|
||||||
|
char line_origin, /**< GIT_DIFF_LINE_... value from above */
|
||||||
|
const char *content,
|
||||||
|
size_t content_len)
|
||||||
|
{
|
||||||
|
GIT_UNUSED(cb_data);
|
||||||
|
GIT_UNUSED(delta);
|
||||||
|
GIT_UNUSED(range);
|
||||||
|
GIT_UNUSED(line_origin);
|
||||||
|
GIT_UNUSED(content_len);
|
||||||
|
fputs(content, (FILE *)cb_data);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void diff_print(FILE *fp, git_diff_list *diff)
|
||||||
|
{
|
||||||
|
cl_git_pass(git_diff_print_patch(diff, fp ? fp : stderr, diff_print_cb));
|
||||||
|
}
|
||||||
|
@ -6,6 +6,8 @@ extern git_tree *resolve_commit_oid_to_tree(
|
|||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
int files;
|
int files;
|
||||||
|
int files_binary;
|
||||||
|
|
||||||
int file_adds;
|
int file_adds;
|
||||||
int file_dels;
|
int file_dels;
|
||||||
int file_mods;
|
int file_mods;
|
||||||
@ -51,3 +53,5 @@ extern int diff_foreach_via_iterator(
|
|||||||
git_diff_file_fn file_cb,
|
git_diff_file_fn file_cb,
|
||||||
git_diff_hunk_fn hunk_cb,
|
git_diff_hunk_fn hunk_cb,
|
||||||
git_diff_data_fn line_cb);
|
git_diff_data_fn line_cb);
|
||||||
|
|
||||||
|
extern void diff_print(FILE *fp, git_diff_list *diff);
|
||||||
|
@ -113,16 +113,16 @@ void test_diff_tree__options(void)
|
|||||||
*/
|
*/
|
||||||
diff_expects test_expects[] = {
|
diff_expects test_expects[] = {
|
||||||
/* a vs b tests */
|
/* a vs b tests */
|
||||||
{ 5, 3, 0, 2, 0, 0, 0, 4, 0, 0, 51, 2, 46, 3 },
|
{ 5, 0, 3, 0, 2, 0, 0, 0, 4, 0, 0, 51, 2, 46, 3 },
|
||||||
{ 5, 3, 0, 2, 0, 0, 0, 4, 0, 0, 53, 4, 46, 3 },
|
{ 5, 0, 3, 0, 2, 0, 0, 0, 4, 0, 0, 53, 4, 46, 3 },
|
||||||
{ 5, 0, 3, 2, 0, 0, 0, 4, 0, 0, 52, 3, 3, 46 },
|
{ 5, 0, 0, 3, 2, 0, 0, 0, 4, 0, 0, 52, 3, 3, 46 },
|
||||||
{ 5, 3, 0, 2, 0, 0, 0, 5, 0, 0, 54, 3, 47, 4 },
|
{ 5, 0, 3, 0, 2, 0, 0, 0, 5, 0, 0, 54, 3, 47, 4 },
|
||||||
/* c vs d tests */
|
/* c vs d tests */
|
||||||
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 22, 9, 10, 3 },
|
{ 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 22, 9, 10, 3 },
|
||||||
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 19, 12, 7, 0 },
|
{ 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 19, 12, 7, 0 },
|
||||||
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 20, 11, 8, 1 },
|
{ 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 20, 11, 8, 1 },
|
||||||
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 20, 11, 8, 1 },
|
{ 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 20, 11, 8, 1 },
|
||||||
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 18, 11, 0, 7 },
|
{ 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 18, 11, 0, 7 },
|
||||||
{ 0 },
|
{ 0 },
|
||||||
};
|
};
|
||||||
diff_expects *expected;
|
diff_expects *expected;
|
||||||
|
Loading…
Reference in New Issue
Block a user