Commit 548e5bdf1e3a20cdb8c7d063f60ffb31872b15f7

Patrick Steinhardt 2017-03-15T12:28:05

tests: worktree: unify init/cleanup in submodule tests

diff --git a/tests/worktree/submodule.c b/tests/worktree/submodule.c
index 1d8e46c..b435070 100644
--- a/tests/worktree/submodule.c
+++ b/tests/worktree/submodule.c
@@ -5,65 +5,55 @@
 #define WORKTREE_PARENT "submodules-worktree-parent"
 #define WORKTREE_CHILD "submodules-worktree-child"
 
-void test_worktree_submodule__submodule_worktree_parent(void)
-{
-	worktree_fixture fixture =
-		WORKTREE_FIXTURE_INIT("submodules", WORKTREE_PARENT);
-	setup_fixture_worktree(&fixture);
+static worktree_fixture parent
+    = WORKTREE_FIXTURE_INIT("submodules", WORKTREE_PARENT);
+static worktree_fixture child
+    = WORKTREE_FIXTURE_INIT(NULL, WORKTREE_CHILD);
 
-	cl_assert(git_repository_path(fixture.worktree) != NULL);
-	cl_assert(git_repository_workdir(fixture.worktree) != NULL);
+void test_worktree_submodule__initialize(void)
+{
+	setup_fixture_worktree(&parent);
 
-	cl_assert(!fixture.repo->is_worktree);
-	cl_assert(fixture.worktree->is_worktree);
+	cl_git_pass(p_rename(
+		"submodules/testrepo/.gitted",
+		"submodules/testrepo/.git"));
 
-	cleanup_fixture_worktree(&fixture);
+	setup_fixture_worktree(&child);
 }
 
-void test_worktree_submodule__submodule_worktree_child(void)
+void test_worktree_submodule__cleanup(void)
 {
-	worktree_fixture parent_fixture =
-		WORKTREE_FIXTURE_INIT("submodules", WORKTREE_PARENT);
-	worktree_fixture child_fixture =
-		WORKTREE_FIXTURE_INIT(NULL, WORKTREE_CHILD);
+	cleanup_fixture_worktree(&child);
+	cleanup_fixture_worktree(&parent);
+}
 
-	setup_fixture_worktree(&parent_fixture);
-	cl_git_pass(p_rename(
-		"submodules/testrepo/.gitted",
-		"submodules/testrepo/.git"));
-	setup_fixture_worktree(&child_fixture);
+void test_worktree_submodule__submodule_worktree_parent(void)
+{
+	cl_assert(git_repository_path(parent.worktree) != NULL);
+	cl_assert(git_repository_workdir(parent.worktree) != NULL);
 
-	cl_assert(!parent_fixture.repo->is_worktree);
-	cl_assert(parent_fixture.worktree->is_worktree);
-	cl_assert(child_fixture.worktree->is_worktree);
+	cl_assert(!parent.repo->is_worktree);
+	cl_assert(parent.worktree->is_worktree);
+}
 
-	cleanup_fixture_worktree(&child_fixture);
-	cleanup_fixture_worktree(&parent_fixture);
+void test_worktree_submodule__submodule_worktree_child(void)
+{
+	cl_assert(!parent.repo->is_worktree);
+	cl_assert(parent.worktree->is_worktree);
+	cl_assert(child.worktree->is_worktree);
 }
 
 void test_worktree_submodule__open_discovered_submodule_worktree(void)
 {
-	worktree_fixture parent_fixture =
-		WORKTREE_FIXTURE_INIT("submodules", WORKTREE_PARENT);
-	worktree_fixture child_fixture =
-		WORKTREE_FIXTURE_INIT(NULL, WORKTREE_CHILD);
 	git_buf path = GIT_BUF_INIT;
 	git_repository *repo;
 
-	setup_fixture_worktree(&parent_fixture);
-	cl_git_pass(p_rename(
-		"submodules/testrepo/.gitted",
-		"submodules/testrepo/.git"));
-	setup_fixture_worktree(&child_fixture);
-
 	cl_git_pass(git_repository_discover(&path,
-		git_repository_workdir(child_fixture.worktree), false, NULL));
+		git_repository_workdir(child.worktree), false, NULL));
 	cl_git_pass(git_repository_open(&repo, path.ptr));
-	cl_assert_equal_s(git_repository_workdir(child_fixture.worktree),
+	cl_assert_equal_s(git_repository_workdir(child.worktree),
 		git_repository_workdir(repo));
 
 	git_buf_free(&path);
 	git_repository_free(repo);
-	cleanup_fixture_worktree(&child_fixture);
-	cleanup_fixture_worktree(&parent_fixture);
 }