Commit cd1ef822 by nulltoken

test: extract make_head_orphaned() logic

parent 209e34fa
#include "clar_libgit2.h"
#include "refs.h"
#include "repo/repo_helpers.h"
static git_repository *g_repo;
......@@ -15,10 +16,7 @@ void test_checkout_head__cleanup(void)
void test_checkout_head__checking_out_an_orphaned_head_returns_GIT_EORPHANEDHEAD(void)
{
git_reference *head;
cl_git_pass(git_reference_create_symbolic(&head, g_repo, GIT_HEAD_FILE, "refs/heads/hide/and/seek", 1));
git_reference_free(head);
make_head_orphaned(g_repo, NON_EXISTING_HEAD);
cl_assert_equal_i(GIT_EORPHANEDHEAD, git_checkout_head(g_repo, NULL, NULL));
}
#include "clar_libgit2.h"
#include "refs.h"
#include "repo/repo_helpers.h"
static git_repository *repo;
static git_reference *fake_remote;
......@@ -52,11 +53,9 @@ void test_refs_branches_delete__can_delete_a_branch_even_if_HEAD_is_missing(void
void test_refs_branches_delete__can_delete_a_branch_when_HEAD_is_orphaned(void)
{
git_reference *head;
git_reference *branch;
cl_git_pass(git_reference_create_symbolic(&head, repo, GIT_HEAD_FILE, "refs/heads/hide/and/seek", 1));
git_reference_free(head);
make_head_orphaned(repo, NON_EXISTING_HEAD);
cl_git_pass(git_branch_lookup(&branch, repo, "br2", GIT_BRANCH_LOCAL));
cl_git_pass(git_branch_delete(branch));
......@@ -91,4 +90,3 @@ void test_refs_branches_delete__can_delete_a_remote_branch(void)
cl_git_pass(git_branch_lookup(&branch, repo, "nulltoken/master", GIT_BRANCH_REMOTE));
cl_git_pass(git_branch_delete(branch));
}
#include "clar_libgit2.h"
#include "refs.h"
#include "repo/repo_helpers.h"
static git_repository *repo;
static git_reference *branch;
......@@ -22,21 +23,13 @@ void test_refs_branches_ishead__can_tell_if_a_branch_is_pointed_at_by_HEAD(void)
cl_assert_equal_i(true, git_branch_is_head(branch));
}
static void make_head_orphaned(void)
{
git_reference *head;
cl_git_pass(git_reference_create_symbolic(&head, repo, GIT_HEAD_FILE, "refs/heads/hide/and/seek", 1));
git_reference_free(head);
}
void test_refs_branches_ishead__can_properly_handle_orphaned_HEAD(void)
{
git_repository_free(repo);
repo = cl_git_sandbox_init("testrepo.git");
make_head_orphaned();
make_head_orphaned(repo, NON_EXISTING_HEAD);
cl_git_pass(git_reference_lookup(&branch, repo, "refs/heads/master"));
......
#include "clar_libgit2.h"
#include "refs.h"
#include "repo_helpers.h"
git_repository *repo;
......@@ -30,21 +31,13 @@ void test_repo_head__head_detached(void)
cl_assert_equal_i(false, git_repository_head_detached(repo));
}
static void make_head_orphaned(void)
{
git_reference *head;
cl_git_pass(git_reference_create_symbolic(&head, repo, GIT_HEAD_FILE, "refs/heads/hide/and/seek", 1));
git_reference_free(head);
}
void test_repo_head__head_orphan(void)
{
git_reference *ref;
cl_assert(git_repository_head_orphan(repo) == 0);
make_head_orphaned();
make_head_orphaned(repo, NON_EXISTING_HEAD);
cl_assert(git_repository_head_orphan(repo) == 1);
......@@ -171,7 +164,7 @@ void test_repo_head__detach_head_Fails_if_HEAD_and_point_to_a_non_commitish(void
void test_repo_head__detaching_an_orphaned_head_returns_GIT_EORPHANEDHEAD(void)
{
make_head_orphaned();
make_head_orphaned(repo, NON_EXISTING_HEAD);
cl_assert_equal_i(GIT_EORPHANEDHEAD, git_repository_detach_head(repo));
}
......@@ -180,7 +173,7 @@ void test_repo_head__retrieving_an_orphaned_head_returns_GIT_EORPHANEDHEAD(void)
{
git_reference *head;
make_head_orphaned();
make_head_orphaned(repo, NON_EXISTING_HEAD);
cl_assert_equal_i(GIT_EORPHANEDHEAD, git_repository_head(&head, repo));
}
#include "clar_libgit2.h"
#include "refs.h"
#include "repo_helpers.h"
void make_head_orphaned(git_repository* repo, const char *target)
{
git_reference *head;
cl_git_pass(git_reference_create_symbolic(&head, repo, GIT_HEAD_FILE, target, 1));
git_reference_free(head);
}
#include "common.h"
#define NON_EXISTING_HEAD "refs/heads/hide/and/seek"
extern void make_head_orphaned(git_repository* repo, const char *target);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment