branch: refactor git_branch_remote_name() tests
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
diff --git a/tests-clar/refs/branches/remote.c b/tests-clar/refs/branches/remote.c
index 5865261..145c318 100644
--- a/tests-clar/refs/branches/remote.c
+++ b/tests-clar/refs/branches/remote.c
@@ -3,18 +3,15 @@
#include "remote.h"
static git_repository *g_repo;
-
-static const char *current_master_tip = "099fabac3a9ea935598528c27f866e34089c2eff";
+static const char *remote_tracking_branch_name = "refs/remotes/test/master";
+static const char *expected_remote_name = "test";
+static int expected_remote_name_length;
void test_refs_branches_remote__initialize(void)
{
- git_oid id;
-
g_repo = cl_git_sandbox_init("testrepo");
- git_oid_fromstr(&id, current_master_tip);
- /* Create test/master */
- git_reference_create(NULL, g_repo, "refs/remotes/test/master", &id, 1);
+ expected_remote_name_length = strlen(expected_remote_name) + 1;
}
void test_refs_branches_remote__cleanup(void)
@@ -24,81 +21,48 @@ void test_refs_branches_remote__cleanup(void)
void test_refs_branches_remote__can_get_remote_for_branch(void)
{
- git_reference *ref;
- const char *name;
- char *expectedRemoteName = "test";
- int expectedRemoteNameLength = strlen(expectedRemoteName) + 1;
char remotename[1024] = {0};
- cl_git_pass(git_branch_lookup(&ref, g_repo, "test/master", GIT_BRANCH_REMOTE));
- cl_git_pass(git_branch_name(&name, ref));
- cl_assert_equal_s("test/master", name);
+ cl_assert_equal_i(expected_remote_name_length,
+ git_branch_remote_name(NULL, 0, g_repo, remote_tracking_branch_name));
- cl_assert_equal_i(expectedRemoteNameLength,
- git_branch_remote_name(NULL, 0, g_repo, git_reference_name(ref)));
- cl_assert_equal_i(expectedRemoteNameLength,
- git_branch_remote_name(remotename, expectedRemoteNameLength, g_repo, git_reference_name(ref)));
- cl_assert_equal_s("test", remotename);
+ cl_assert_equal_i(expected_remote_name_length,
+ git_branch_remote_name(remotename, expected_remote_name_length, g_repo,
+ remote_tracking_branch_name));
- git_reference_free(ref);
+ cl_assert_equal_s("test", remotename);
}
void test_refs_branches_remote__insufficient_buffer_returns_error(void)
{
- git_reference *ref;
- const char *name;
- char *expectedRemoteName = "test";
- int expectedRemoteNameLength = strlen(expectedRemoteName) + 1;
char remotename[1024] = {0};
- cl_git_pass(git_branch_lookup(&ref, g_repo, "test/master", GIT_BRANCH_REMOTE));
- cl_git_pass(git_branch_name(&name, ref));
- cl_assert_equal_s("test/master", name);
-
- cl_assert_equal_i(expectedRemoteNameLength,
- git_branch_remote_name(NULL, 0, g_repo, git_reference_name(ref)));
- cl_git_fail_with(GIT_ERROR,
- git_branch_remote_name(remotename, expectedRemoteNameLength - 1, g_repo, git_reference_name(ref)));
+ cl_assert_equal_i(expected_remote_name_length,
+ git_branch_remote_name(NULL, 0, g_repo, remote_tracking_branch_name));
- git_reference_free(ref);
+ cl_git_fail_with(git_branch_remote_name(remotename,
+ expected_remote_name_length - 1, g_repo, remote_tracking_branch_name),
+ GIT_ERROR);
}
void test_refs_branches_remote__no_matching_remote_returns_error(void)
{
- git_reference *ref;
- const char *name;
- git_oid id;
+ const char *unknown = "refs/remotes/nonexistent/master";
- git_oid_fromstr(&id, current_master_tip);
-
- /* Create nonexistent/master */
- git_reference_create(NULL, g_repo, "refs/remotes/nonexistent/master", &id, 1);
-
- cl_git_pass(git_branch_lookup(&ref, g_repo,"nonexistent/master", GIT_BRANCH_REMOTE));
- cl_git_pass(git_branch_name(&name, ref));
- cl_assert_equal_s("nonexistent/master", name);
-
- cl_git_fail_with(git_branch_remote_name(NULL, 0, g_repo, git_reference_name(ref)), GIT_ENOTFOUND);
- git_reference_free(ref);
+ cl_git_fail_with(git_branch_remote_name(
+ NULL, 0, g_repo, unknown), GIT_ENOTFOUND);
}
void test_refs_branches_remote__local_remote_returns_error(void)
{
- git_reference *ref;
- const char *name;
+ const char *local = "refs/heads/master";
- cl_git_pass(git_branch_lookup(&ref,g_repo, "master", GIT_BRANCH_LOCAL));
- cl_git_pass(git_branch_name(&name, ref));
- cl_assert_equal_s("master",name);
-
- cl_git_fail_with(git_branch_remote_name(NULL, 0, g_repo, git_reference_name(ref)), GIT_ERROR);
- git_reference_free(ref);
+ cl_git_fail_with(git_branch_remote_name(
+ NULL, 0, g_repo, local), GIT_ERROR);
}
void test_refs_branches_remote__ambiguous_remote_returns_error(void)
{
- git_reference *ref;
- const char *name;
git_remote *remote;
/* Create the remote */
@@ -110,10 +74,6 @@ void test_refs_branches_remote__ambiguous_remote_returns_error(void)
git_remote_free(remote);
- cl_git_pass(git_branch_lookup(&ref,g_repo, "test/master", GIT_BRANCH_REMOTE));
- cl_git_pass(git_branch_name(&name, ref));
- cl_assert_equal_s("test/master", name);
-
- cl_git_fail_with(git_branch_remote_name(NULL, 0, g_repo, git_reference_name(ref)), GIT_EAMBIGUOUS);
- git_reference_free(ref);
+ cl_git_fail_with(git_branch_remote_name(NULL, 0, g_repo,
+ remote_tracking_branch_name), GIT_EAMBIGUOUS);
}