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.
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
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 */