Commit 915f88609a6685fbad1f5ad6fa7a5bb320f03138

Patrick Steinhardt 2020-05-16T14:00:11

tests: checkout: fix stylistic issues and static variable The test case checkout::index::can_disable_pathspec_match has some shortcomings when it comes to coding style, which didn't fit our own coding style. Furthermore, it had an unnecessary static local variable. The test has been refactored to address these issues.

diff --git a/tests/checkout/index.c b/tests/checkout/index.c
index 8134673..7b5f3c7 100644
--- a/tests/checkout/index.c
+++ b/tests/checkout/index.c
@@ -91,24 +91,18 @@ void test_checkout_index__can_remove_untracked_files(void)
 
 void test_checkout_index__can_disable_pathspec_match(void)
 {
-	static git_index *index;
-	git_oid commit_id;
-	git_checkout_options g_opts = GIT_CHECKOUT_OPTIONS_INIT;
-	git_object *g_object;
-
 	char *files_to_checkout[] = { "test10.txt", "test11.txt"};
-	size_t files_to_checkout_size = 2;
+	git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
+	git_object *objects;
+	git_index *index;
 
 	/* reset to beginning of history (i.e. just a README file) */
-	g_opts.checkout_strategy =
-		GIT_CHECKOUT_FORCE | GIT_CHECKOUT_REMOVE_UNTRACKED;
+	opts.checkout_strategy = GIT_CHECKOUT_FORCE | GIT_CHECKOUT_REMOVE_UNTRACKED;
 
-	cl_git_pass(git_revparse_single(&g_object, g_repo, "8496071c1b46c854b31185ea97743be6a8774479"));
-	cl_git_pass(git_checkout_tree(g_repo, g_object, &g_opts));
-	cl_git_pass(
-		git_repository_set_head_detached(g_repo, git_object_id(g_object)));
-	git_object_free(g_object);
-	g_object = NULL;
+	cl_git_pass(git_revparse_single(&objects, g_repo, "8496071c1b46c854b31185ea97743be6a8774479"));
+	cl_git_pass(git_checkout_tree(g_repo, objects, &opts));
+	cl_git_pass(git_repository_set_head_detached(g_repo, git_object_id(objects)));
+	git_object_free(objects);
 
 	cl_git_pass(git_repository_index(&index, g_repo));
 
@@ -124,7 +118,7 @@ void test_checkout_index__can_disable_pathspec_match(void)
 	cl_git_pass(git_index_add_bypath(index, "test12.txt"));
 	cl_git_pass(git_index_write(index));
 
-	cl_repo_commit_from_index(&commit_id, g_repo, NULL, 0, "commit our test files");
+	cl_repo_commit_from_index(NULL, g_repo, NULL, 0, "commit our test files");
 
 	/* We modify the content of all 4 of our files */
 	cl_git_rewritefile("testrepo/test9.txt", "modified\n");
@@ -133,12 +127,12 @@ void test_checkout_index__can_disable_pathspec_match(void)
 	cl_git_rewritefile("testrepo/test12.txt", "modified\n");
 
 	/* We checkout only test10.txt and test11.txt */
-	g_opts.checkout_strategy =
+	opts.checkout_strategy =
 		GIT_CHECKOUT_FORCE |
 		GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH;
-	g_opts.paths.strings = files_to_checkout;
-	g_opts.paths.count = files_to_checkout_size;
-	cl_git_pass(git_checkout_index(g_repo, NULL, &g_opts));
+	opts.paths.strings = files_to_checkout;
+	opts.paths.count = ARRAY_SIZE(files_to_checkout);
+	cl_git_pass(git_checkout_index(g_repo, NULL, &opts));
 
 	/* The only files that have been reverted to their original content
 	   should be test10.txt and test11.txt */