summaryrefslogtreecommitdiff
path: root/tests/libgit2
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2022-07-13 10:19:14 -0400
committerGitHub <noreply@github.com>2022-07-13 10:19:14 -0400
commit3c8a860df4dd1dfe1aad74c884529184b7d932b2 (patch)
tree0f629e3479cf4abcf182e47c7690a84f67b94852 /tests/libgit2
parentb70dbaa2f295e5878c965835caf054b50faa9f41 (diff)
parentbe08ef7fd7d045a4bd0e3dfc059b32c1590b5016 (diff)
downloadlibgit2-3c8a860df4dd1dfe1aad74c884529184b7d932b2.tar.gz
Merge pull request #6348 from lya001/fix-invalid-branch-name
Fix creation of branches and tags with invalid names
Diffstat (limited to 'tests/libgit2')
-rw-r--r--tests/libgit2/object/tag/write.c19
-rw-r--r--tests/libgit2/refs/branches/create.c8
2 files changed, 27 insertions, 0 deletions
diff --git a/tests/libgit2/object/tag/write.c b/tests/libgit2/object/tag/write.c
index 3c1a98956..064f328fd 100644
--- a/tests/libgit2/object/tag/write.c
+++ b/tests/libgit2/object/tag/write.c
@@ -258,3 +258,22 @@ void test_object_tag_write__creating_an_annotation_does_not_create_a_reference(v
create_annotation(&tag_id, "new_tag");
cl_git_fail_with(git_reference_lookup(&tag_ref, g_repo, "refs/tags/new_tag"), GIT_ENOTFOUND);
}
+
+void test_object_tag_write__error_when_create_tag_with_invalid_name(void)
+{
+ git_oid target_id, tag_id;
+ git_signature *tagger;
+ git_object *target;
+
+ git_oid_fromstr(&target_id, tagged_commit);
+ cl_git_pass(git_object_lookup(&target, g_repo, &target_id, GIT_OBJECT_COMMIT));
+ cl_git_pass(git_signature_new(&tagger, tagger_name, tagger_email, 123456789, 60));
+
+ cl_git_fail(
+ git_tag_create(&tag_id, g_repo,
+ "-dash", target, tagger, tagger_message, 0)
+ );
+
+ git_object_free(target);
+ git_signature_free(tagger);
+}
diff --git a/tests/libgit2/refs/branches/create.c b/tests/libgit2/refs/branches/create.c
index 2fb11668b..356bad48f 100644
--- a/tests/libgit2/refs/branches/create.c
+++ b/tests/libgit2/refs/branches/create.c
@@ -277,3 +277,11 @@ void test_refs_branches_create__name_vs_namespace_fail(void)
branch = NULL;
}
}
+
+void test_refs_branches_create__error_when_create_branch_with_invalid_name(void)
+{
+ retrieve_known_commit(&target, repo);
+
+ cl_git_fail(git_branch_create(&branch, repo, "HEAD", target, 0));
+ cl_git_fail(git_branch_create(&branch, repo, "-dash", target, 0));
+}