summaryrefslogtreecommitdiffstats
path: root/tests/clar/clar_libgit2.h
diff options
context:
space:
mode:
Diffstat (limited to 'tests/clar/clar_libgit2.h')
-rw-r--r--tests/clar/clar_libgit2.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/clar/clar_libgit2.h b/tests/clar/clar_libgit2.h
index c33b5d2..d8105c8 100644
--- a/tests/clar/clar_libgit2.h
+++ b/tests/clar/clar_libgit2.h
@@ -166,10 +166,27 @@ GIT_INLINE(void) clar__assert_equal_oid(
}
}
+GIT_INLINE(void) clar__assert_equal_oidstr(
+ const char *file, const char *func, int line, const char *desc,
+ const char *one_str, const git_oid *two)
+{
+ git_oid one;
+
+ if (git_oid__fromstr(&one, one_str, git_oid_type(two)) < 0) {
+ clar__fail(file, func, line, desc, "could not parse oid string", 1);
+ } else {
+ clar__assert_equal_oid(file, func, line, desc, &one, two);
+ }
+}
+
#define cl_assert_equal_oid(one, two) \
clar__assert_equal_oid(__FILE__, __func__, __LINE__, \
"OID mismatch: " #one " != " #two, (one), (two))
+#define cl_assert_equal_oidstr(one_str, two) \
+ clar__assert_equal_oidstr(__FILE__, __func__, __LINE__, \
+ "OID mismatch: " #one_str " != " #two, (one_str), (two))
+
/*
* Some utility macros for building long strings
*/