summaryrefslogtreecommitdiff
path: root/tests-clar/diff/diff_helpers.c
diff options
context:
space:
mode:
authorRussell Belfer <rb@github.com>2012-10-08 15:18:30 -0700
committerRussell Belfer <rb@github.com>2012-10-08 15:22:40 -0700
commit71966e2f1bdfb75b7e57942d572ea089ce32e463 (patch)
tree1b6b8a874dd0c4f1fff2f2d84dae0b27b719c7c2 /tests-clar/diff/diff_helpers.c
parentdfbff793b8f39995d3a8744d6b7d75d5cc7201a0 (diff)
downloadlibgit2-71966e2f1bdfb75b7e57942d572ea089ce32e463.tar.gz
Extend diff helpers for tests a little
Diffstat (limited to 'tests-clar/diff/diff_helpers.c')
-rw-r--r--tests-clar/diff/diff_helpers.c29
1 files changed, 27 insertions, 2 deletions
diff --git a/tests-clar/diff/diff_helpers.c b/tests-clar/diff/diff_helpers.c
index b4c68769e..de0e7e074 100644
--- a/tests-clar/diff/diff_helpers.c
+++ b/tests-clar/diff/diff_helpers.c
@@ -30,10 +30,13 @@ int diff_file_fn(
GIT_UNUSED(progress);
- if (delta->binary)
+ e->files++;
+
+ if (delta->binary) {
e->at_least_one_of_them_is_binary = true;
+ e->files_binary++;
+ }
- e->files++;
switch (delta->status) {
case GIT_DELTA_ADDED: e->file_adds++; break;
case GIT_DELTA_DELETED: e->file_dels++; break;
@@ -180,3 +183,25 @@ abort:
giterr_clear();
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));
+}