Commit 5785ae9b5e315a2aca64ee4bac1b31bdab84c657

John Haley 2016-05-04T11:14:17

Fix initial commit test `test_commit_commit__create_initial_commit_parent_not_current` was not correctly testing that `HEAD` was not changed. Now we grab the oid that it was pointing to before the call to `git_commit_create` and the oid that it's pointing to afterwards and compare those.

diff --git a/tests/commit/commit.c b/tests/commit/commit.c
index 05a602f..b03169b 100644
--- a/tests/commit/commit.c
+++ b/tests/commit/commit.c
@@ -84,13 +84,10 @@ void test_commit_commit__create_initial_commit(void)
 void test_commit_commit__create_initial_commit_parent_not_current(void)
 {
 	git_oid oid;
+	git_oid original_oid;
 	git_tree *tree;
 	git_commit *commit;
 	git_signature *s;
-	git_reference *origRef;
-	git_reference *origRefTarget;
-	git_reference *ref;
-	git_reference *refTarget;
 
 	git_oid_fromstr(&oid, "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
 	cl_git_pass(git_commit_lookup(&commit, _repo, &oid));
@@ -100,40 +97,18 @@ void test_commit_commit__create_initial_commit_parent_not_current(void)
 
 	cl_git_pass(git_signature_now(&s, "alice", "alice@example.com"));
 
-	cl_git_pass(git_reference_lookup(&origRef, _repo, "HEAD"));
+	cl_git_pass(git_reference_name_to_id(&original_oid, _repo, "HEAD"));
 
 	cl_git_fail(git_commit_create(&oid, _repo, "HEAD", s, s,
 				      NULL, "initial commit", tree, 0, NULL));
 
-	cl_git_pass(git_reference_lookup(&ref, _repo, "HEAD"));
-
-	cl_git_pass(
-		git_reference_lookup(
-			&origRefTarget,
-			_repo,
-			git_reference_symbolic_target(origRef)
-		)
-	);
-	cl_git_pass(
-		git_reference_lookup(
-			&refTarget,
-			_repo,
-			git_reference_symbolic_target(ref)
-		)
-	);
-
-	cl_assert_equal_oid(
-		git_reference_target(origRefTarget),
-		git_reference_target(refTarget)
-	);
+	cl_git_pass(git_reference_name_to_id(&oid, _repo, "HEAD"));
+
+	cl_assert_equal_oid(&oid, &original_oid);
 
 	git_tree_free(tree);
 	git_commit_free(commit);
 	git_signature_free(s);
-	git_reference_free(origRef);
-	git_reference_free(origRefTarget);
-	git_reference_free(ref);
-	git_reference_free(refTarget);
 }
 
 void assert_commit_summary(const char *expected, const char *given)