summaryrefslogtreecommitdiff
path: root/tests-clar
diff options
context:
space:
mode:
Diffstat (limited to 'tests-clar')
-rw-r--r--tests-clar/network/refspecs.c1
-rw-r--r--tests-clar/refs/create.c15
2 files changed, 16 insertions, 0 deletions
diff --git a/tests-clar/network/refspecs.c b/tests-clar/network/refspecs.c
index bfe0af48c..3b1281722 100644
--- a/tests-clar/network/refspecs.c
+++ b/tests-clar/network/refspecs.c
@@ -8,6 +8,7 @@ static void assert_refspec(unsigned int direction, const char *input, bool is_ex
int error;
error = git_refspec__parse(&refspec, input, direction == GIT_DIR_FETCH);
+ git_refspec__free(&refspec);
if (is_expected_to_be_valid)
cl_assert_equal_i(0, error);
diff --git a/tests-clar/refs/create.c b/tests-clar/refs/create.c
index af5b203a3..bf234bc60 100644
--- a/tests-clar/refs/create.c
+++ b/tests-clar/refs/create.c
@@ -147,3 +147,18 @@ void test_refs_create__oid_unknown(void)
/* Ensure the reference can't be looked-up... */
cl_git_fail(git_reference_lookup(&looked_up_ref, g_repo, new_head));
}
+
+void test_refs_create__propagate_eexists(void)
+{
+ int error;
+ git_oid oid;
+ git_reference *ref;
+
+ /* Make sure it works for oid and for symbolic both */
+ git_oid_fromstr(&oid, current_master_tip);
+ error = git_reference_create_oid(&ref, g_repo, current_head_target, &oid, false);
+ cl_assert(error == GIT_EEXISTS);
+
+ error = git_reference_create_symbolic(&ref, g_repo, "HEAD", current_head_target, false);
+ cl_assert(error == GIT_EEXISTS);
+}