summaryrefslogtreecommitdiff
path: root/tests/odb/registration.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/odb/registration.c')
-rw-r--r--tests/odb/registration.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/odb/registration.c b/tests/odb/registration.c
new file mode 100644
index 000000000..c17cef45a
--- /dev/null
+++ b/tests/odb/registration.c
@@ -0,0 +1,27 @@
+#include "clar_libgit2.h"
+#include "backends.h"
+
+int payload_target;
+
+int odb_ctor(void *payload)
+{
+ GIT_UNUSED(payload);
+
+ return 0;
+}
+
+void test_odb_registration__register(void)
+{
+ git_odb_registration *reg;
+
+ cl_git_pass(git_odb_backend_register("foo", odb_ctor, &payload_target));
+ reg = git_odb_backend__find("foo");
+
+ cl_assert(reg);
+ cl_assert_equal_s("foo", reg->name);
+ cl_assert_equal_p(odb_ctor, reg->ctor);
+ cl_assert_equal_p(&payload_target, reg->payload);
+
+ reg = git_odb_backend__find("bar");
+ cl_assert_equal_p(NULL, reg);
+}