mirror of
https://git.proxmox.com/git/libgit2
synced 2025-06-04 13:33:59 +00:00
tests: Cleanup & fix test suite
This commit is contained in:
parent
16eaa15059
commit
471bb8b120
@ -77,10 +77,6 @@ void test_commit_write__from_memory(void)
|
||||
cl_assert(committer1->when.offset == 60);
|
||||
|
||||
cl_assert(strcmp(git_commit_message(commit), commit_message) == 0);
|
||||
|
||||
#ifndef GIT_WIN32
|
||||
cl_assert((loose_object_mode(REPOSITORY_FOLDER, (git_object *)commit) & 0777) == GIT_OBJECT_FILE_MODE);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
@ -30,7 +30,6 @@ static void copy_file(const char *src, const char *dst)
|
||||
{
|
||||
git_buf source_buf = GIT_BUF_INIT;
|
||||
git_file dst_fd;
|
||||
int error = GIT_ERROR;
|
||||
|
||||
cl_git_pass(git_futils_readbuffer(&source_buf, src));
|
||||
|
||||
|
@ -9,56 +9,6 @@ static const char *tagged_commit = "e90810b8df3e80c413d903f631643c716887138d";
|
||||
|
||||
static git_repository *g_repo;
|
||||
|
||||
|
||||
// Helpers
|
||||
#ifndef GIT_WIN32
|
||||
#include "odb.h"
|
||||
|
||||
static void locate_loose_object(const char *repository_folder,
|
||||
git_object *object,
|
||||
char **out,
|
||||
char **out_folder)
|
||||
{
|
||||
static const char *objects_folder = "objects/";
|
||||
|
||||
char *ptr, *full_path, *top_folder;
|
||||
int path_length, objects_length;
|
||||
|
||||
assert(repository_folder && object);
|
||||
|
||||
objects_length = strlen(objects_folder);
|
||||
path_length = strlen(repository_folder);
|
||||
ptr = full_path = git__malloc(path_length + objects_length + GIT_OID_HEXSZ + 3);
|
||||
|
||||
strcpy(ptr, repository_folder);
|
||||
strcpy(ptr + path_length, objects_folder);
|
||||
|
||||
ptr = top_folder = ptr + path_length + objects_length;
|
||||
*ptr++ = '/';
|
||||
git_oid_pathfmt(ptr, git_object_id(object));
|
||||
ptr += GIT_OID_HEXSZ + 1;
|
||||
*ptr = 0;
|
||||
|
||||
*out = full_path;
|
||||
|
||||
if (out_folder)
|
||||
*out_folder = top_folder;
|
||||
}
|
||||
|
||||
static void loose_object_mode(const char *repository_folder, git_object *object)
|
||||
{
|
||||
char *object_path;
|
||||
struct stat st;
|
||||
|
||||
locate_loose_object(repository_folder, object, &object_path, NULL);
|
||||
cl_git_pass(p_stat(object_path, &st));
|
||||
free(object_path);
|
||||
cl_assert((st.st_mode & 0777) == GIT_OBJECT_FILE_MODE);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
// Fixture setup and teardown
|
||||
void test_object_tag_write__initialize(void)
|
||||
{
|
||||
@ -70,8 +20,6 @@ void test_object_tag_write__cleanup(void)
|
||||
cl_git_sandbox_cleanup();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void test_object_tag_write__basic(void)
|
||||
{
|
||||
// write a tag to the repository and read it again
|
||||
@ -88,14 +36,10 @@ void test_object_tag_write__basic(void)
|
||||
/* create signature */
|
||||
cl_git_pass(git_signature_new(&tagger, tagger_name, tagger_email, 123456789, 60));
|
||||
|
||||
cl_git_pass(git_tag_create(
|
||||
&tag_id, /* out id */
|
||||
g_repo,
|
||||
"the-tag",
|
||||
target,
|
||||
tagger,
|
||||
tagger_message,
|
||||
0));
|
||||
cl_git_pass(
|
||||
git_tag_create(&tag_id, g_repo,
|
||||
"the-tag", target, tagger, tagger_message, 0)
|
||||
);
|
||||
|
||||
git_object_free(target);
|
||||
git_signature_free(tagger);
|
||||
@ -116,10 +60,6 @@ void test_object_tag_write__basic(void)
|
||||
cl_git_pass(git_reference_lookup(&ref_tag, g_repo, "refs/tags/the-tag"));
|
||||
cl_assert(git_oid_cmp(git_reference_oid(ref_tag), &tag_id) == 0);
|
||||
cl_git_pass(git_reference_delete(ref_tag));
|
||||
#ifndef GIT_WIN32
|
||||
// TODO: Get this to work on Linux
|
||||
//loose_object_mode("testrepo/", (git_object *)tag);
|
||||
#endif
|
||||
|
||||
git_tag_free(tag);
|
||||
}
|
||||
|
@ -39,74 +39,6 @@ static int print_tree(git_repository *repo, const git_oid *tree_oid, int depth)
|
||||
return GIT_SUCCESS;
|
||||
}
|
||||
|
||||
static void locate_loose_object(const char *repository_folder,
|
||||
git_object *object,
|
||||
char **out,
|
||||
char **out_folder)
|
||||
{
|
||||
static const char *objects_folder = "objects/";
|
||||
|
||||
char *ptr, *full_path, *top_folder;
|
||||
int path_length, objects_length;
|
||||
|
||||
assert(repository_folder && object);
|
||||
|
||||
objects_length = strlen(objects_folder);
|
||||
path_length = strlen(repository_folder);
|
||||
ptr = full_path = git__malloc(path_length + objects_length + GIT_OID_HEXSZ + 3);
|
||||
|
||||
strcpy(ptr, repository_folder);
|
||||
strcpy(ptr + path_length, objects_folder);
|
||||
|
||||
ptr = top_folder = ptr + path_length + objects_length;
|
||||
*ptr++ = '/';
|
||||
git_oid_pathfmt(ptr, git_object_id(object));
|
||||
ptr += GIT_OID_HEXSZ + 1;
|
||||
*ptr = 0;
|
||||
|
||||
*out = full_path;
|
||||
|
||||
if (out_folder)
|
||||
*out_folder = top_folder;
|
||||
}
|
||||
|
||||
static int loose_object_mode(const char *repository_folder, git_object *object)
|
||||
{
|
||||
char *object_path;
|
||||
struct stat st;
|
||||
|
||||
locate_loose_object(repository_folder, object, &object_path, NULL);
|
||||
if (p_stat(object_path, &st) < 0)
|
||||
return 0;
|
||||
free(object_path);
|
||||
|
||||
return st.st_mode;
|
||||
}
|
||||
|
||||
static int loose_object_dir_mode(const char *repository_folder, git_object *object)
|
||||
{
|
||||
char *object_path;
|
||||
size_t pos;
|
||||
struct stat st;
|
||||
|
||||
locate_loose_object(repository_folder, object, &object_path, NULL);
|
||||
|
||||
pos = strlen(object_path);
|
||||
while (pos--) {
|
||||
if (object_path[pos] == '/') {
|
||||
object_path[pos] = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (p_stat(object_path, &st) < 0)
|
||||
return 0;
|
||||
free(object_path);
|
||||
|
||||
return st.st_mode;
|
||||
}
|
||||
|
||||
|
||||
// Fixture setup and teardown
|
||||
void test_object_tree_write__initialize(void)
|
||||
{
|
||||
@ -118,21 +50,6 @@ void test_object_tree_write__cleanup(void)
|
||||
cl_git_sandbox_cleanup();
|
||||
}
|
||||
|
||||
|
||||
#if 0
|
||||
void xtest_object_tree_write__print(void)
|
||||
{
|
||||
// write a tree from an index
|
||||
git_index *index;
|
||||
git_oid tree_oid;
|
||||
|
||||
cl_git_pass(git_repository_index(&index, g_repo));
|
||||
|
||||
cl_git_pass(git_tree_create_fromindex(&tree_oid, index));
|
||||
cl_git_pass(print_tree(g_repo, &tree_oid, 0));
|
||||
}
|
||||
#endif
|
||||
|
||||
void test_object_tree_write__from_memory(void)
|
||||
{
|
||||
// write a tree from a memory
|
||||
@ -193,10 +110,5 @@ void test_object_tree_write__subtree(void)
|
||||
// check data is correct
|
||||
cl_git_pass(git_tree_lookup(&tree, g_repo, &id_hiearar));
|
||||
cl_assert(2 == git_tree_entrycount(tree));
|
||||
#ifndef GIT_WIN32
|
||||
// TODO: fix these
|
||||
//cl_assert((loose_object_dir_mode("testrepo", (git_object *)tree) & 0777) == GIT_OBJECT_DIR_MODE);
|
||||
//cl_assert((loose_object_mode("testrespo", (git_object *)tree) & 0777) == GIT_OBJECT_FILE_MODE);
|
||||
#endif
|
||||
git_tree_free(tree);
|
||||
}
|
||||
|
@ -9,21 +9,17 @@ static const char *current_head_target = "refs/heads/master";
|
||||
|
||||
static git_repository *g_repo;
|
||||
|
||||
|
||||
|
||||
void test_ref_create__initialize(void)
|
||||
void test_refs_create__initialize(void)
|
||||
{
|
||||
g_repo = cl_git_sandbox_init("testrepo");
|
||||
}
|
||||
|
||||
void test_ref_create__cleanup(void)
|
||||
void test_refs_create__cleanup(void)
|
||||
{
|
||||
cl_git_sandbox_cleanup();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void test_ref_create__symbolic(void)
|
||||
void test_refs_create__symbolic(void)
|
||||
{
|
||||
// create a new symbolic reference
|
||||
git_reference *new_reference, *looked_up_ref, *resolved_ref;
|
||||
@ -71,7 +67,7 @@ void test_ref_create__symbolic(void)
|
||||
git_reference_free(resolved_ref);
|
||||
}
|
||||
|
||||
void test_ref_create__deep_symbolic(void)
|
||||
void test_refs_create__deep_symbolic(void)
|
||||
{
|
||||
// create a deep symbolic reference
|
||||
git_reference *new_reference, *looked_up_ref, *resolved_ref;
|
||||
@ -94,7 +90,7 @@ void test_ref_create__deep_symbolic(void)
|
||||
git_buf_free(&ref_path);
|
||||
}
|
||||
|
||||
void test_ref_create__oid(void)
|
||||
void test_refs_create__oid(void)
|
||||
{
|
||||
// create a new OID reference
|
||||
git_reference *new_reference, *looked_up_ref;
|
||||
@ -135,7 +131,7 @@ void test_ref_create__oid(void)
|
||||
git_buf_free(&ref_path);
|
||||
}
|
||||
|
||||
void test_ref_create__oid_unknown(void)
|
||||
void test_refs_create__oid_unknown(void)
|
||||
{
|
||||
// Can not create a new OID reference which targets at an unknown id
|
||||
git_reference *new_reference, *looked_up_ref;
|
||||
|
@ -11,21 +11,17 @@ static const char *ref_test_name = "refs/heads/test";
|
||||
|
||||
static git_repository *g_repo;
|
||||
|
||||
|
||||
|
||||
void test_ref_overwrite__initialize(void)
|
||||
void test_refs_overwrite__initialize(void)
|
||||
{
|
||||
g_repo = cl_git_sandbox_init("testrepo");
|
||||
}
|
||||
|
||||
void test_ref_overwrite__cleanup(void)
|
||||
void test_refs_overwrite__cleanup(void)
|
||||
{
|
||||
cl_git_sandbox_cleanup();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void test_ref_overwrite__symbolic(void)
|
||||
void test_refs_overwrite__symbolic(void)
|
||||
{
|
||||
// Overwrite an existing symbolic reference
|
||||
git_reference *ref, *branch_ref;
|
||||
@ -55,7 +51,7 @@ void test_ref_overwrite__symbolic(void)
|
||||
git_reference_free(branch_ref);
|
||||
}
|
||||
|
||||
void test_ref_overwrite__object_id(void)
|
||||
void test_refs_overwrite__object_id(void)
|
||||
{
|
||||
// Overwrite an existing object id reference
|
||||
git_reference *ref;
|
||||
@ -87,7 +83,7 @@ void test_ref_overwrite__object_id(void)
|
||||
git_reference_free(ref);
|
||||
}
|
||||
|
||||
void test_ref_overwrite__object_id_with_symbolic(void)
|
||||
void test_refs_overwrite__object_id_with_symbolic(void)
|
||||
{
|
||||
// Overwrite an existing object id reference with a symbolic one
|
||||
git_reference *ref;
|
||||
@ -112,7 +108,7 @@ void test_ref_overwrite__object_id_with_symbolic(void)
|
||||
git_reference_free(ref);
|
||||
}
|
||||
|
||||
void test_ref_overwrite__symbolic_with_object_id(void)
|
||||
void test_refs_overwrite__symbolic_with_object_id(void)
|
||||
{
|
||||
// Overwrite an existing symbolic reference with an object id one
|
||||
git_reference *ref;
|
||||
|
@ -8,21 +8,17 @@ static const char *loose_tag_ref_name = "refs/tags/e90810b";
|
||||
|
||||
static git_repository *g_repo;
|
||||
|
||||
|
||||
|
||||
void test_ref_pack__initialize(void)
|
||||
void test_refs_pack__initialize(void)
|
||||
{
|
||||
g_repo = cl_git_sandbox_init("testrepo");
|
||||
}
|
||||
|
||||
void test_ref_pack__cleanup(void)
|
||||
void test_refs_pack__cleanup(void)
|
||||
{
|
||||
cl_git_sandbox_cleanup();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void test_ref_pack__empty(void)
|
||||
void test_refs_pack__empty(void)
|
||||
{
|
||||
// create a packfile for an empty folder
|
||||
git_buf temp_path = GIT_BUF_INIT;
|
||||
@ -34,7 +30,7 @@ void test_ref_pack__empty(void)
|
||||
cl_git_pass(git_reference_packall(g_repo));
|
||||
}
|
||||
|
||||
void test_ref_pack__loose(void)
|
||||
void test_refs_pack__loose(void)
|
||||
{
|
||||
// create a packfile from all the loose rn a repo
|
||||
git_reference *reference;
|
||||
|
@ -4,7 +4,6 @@
|
||||
#include "git2/reflog.h"
|
||||
#include "reflog.h"
|
||||
|
||||
|
||||
static const char *loose_tag_ref_name = "refs/tags/e90810b";
|
||||
static const char *non_existing_tag_ref_name = "refs/tags/i-do-not-exist";
|
||||
static const char *head_tracker_sym_ref_name = "head-tracker";
|
||||
@ -15,21 +14,17 @@ static const char *packed_test_head_name = "refs/heads/packed-test";
|
||||
|
||||
static git_repository *g_repo;
|
||||
|
||||
|
||||
|
||||
void test_ref_read__initialize(void)
|
||||
void test_refs_read__initialize(void)
|
||||
{
|
||||
g_repo = cl_git_sandbox_init("testrepo");
|
||||
}
|
||||
|
||||
void test_ref_read__cleanup(void)
|
||||
void test_refs_read__cleanup(void)
|
||||
{
|
||||
cl_git_sandbox_cleanup();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void test_ref_read__loose_tag(void)
|
||||
void test_refs_read__loose_tag(void)
|
||||
{
|
||||
// lookup a loose tag reference
|
||||
git_reference *reference;
|
||||
@ -55,7 +50,7 @@ void test_ref_read__loose_tag(void)
|
||||
git_reference_free(reference);
|
||||
}
|
||||
|
||||
void test_ref_read__nonexisting_tag(void)
|
||||
void test_refs_read__nonexisting_tag(void)
|
||||
{
|
||||
// lookup a loose tag reference that doesn't exist
|
||||
git_reference *reference;
|
||||
@ -66,7 +61,7 @@ void test_ref_read__nonexisting_tag(void)
|
||||
}
|
||||
|
||||
|
||||
void test_ref_read__symbolic(void)
|
||||
void test_refs_read__symbolic(void)
|
||||
{
|
||||
// lookup a symbolic reference
|
||||
git_reference *reference, *resolved_ref;
|
||||
@ -94,7 +89,7 @@ void test_ref_read__symbolic(void)
|
||||
git_reference_free(resolved_ref);
|
||||
}
|
||||
|
||||
void test_ref_read__nested_symbolic(void)
|
||||
void test_refs_read__nested_symbolic(void)
|
||||
{
|
||||
// lookup a nested symbolic reference
|
||||
git_reference *reference, *resolved_ref;
|
||||
@ -122,7 +117,7 @@ void test_ref_read__nested_symbolic(void)
|
||||
git_reference_free(resolved_ref);
|
||||
}
|
||||
|
||||
void test_ref_read__head_then_master(void)
|
||||
void test_refs_read__head_then_master(void)
|
||||
{
|
||||
// lookup the HEAD and resolve the master branch
|
||||
git_reference *reference, *resolved_ref, *comp_base_ref;
|
||||
@ -146,7 +141,7 @@ void test_ref_read__head_then_master(void)
|
||||
git_reference_free(comp_base_ref);
|
||||
}
|
||||
|
||||
void test_ref_read__master_then_head(void)
|
||||
void test_refs_read__master_then_head(void)
|
||||
{
|
||||
// lookup the master branch and then the HEAD
|
||||
git_reference *reference, *master_ref, *resolved_ref;
|
||||
@ -163,7 +158,7 @@ void test_ref_read__master_then_head(void)
|
||||
}
|
||||
|
||||
|
||||
void test_ref_read__packed(void)
|
||||
void test_refs_read__packed(void)
|
||||
{
|
||||
// lookup a packed reference
|
||||
git_reference *reference;
|
||||
@ -183,7 +178,7 @@ void test_ref_read__packed(void)
|
||||
git_reference_free(reference);
|
||||
}
|
||||
|
||||
void test_ref_read__loose_first(void)
|
||||
void test_refs_read__loose_first(void)
|
||||
{
|
||||
// assure that a loose reference is looked up before a packed reference
|
||||
git_reference *reference;
|
||||
|
Loading…
Reference in New Issue
Block a user