From 548e5bdf1e3a20cdb8c7d063f60ffb31872b15f7 Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Wed, 15 Mar 2017 12:28:05 +0100 Subject: [PATCH] tests: worktree: unify init/cleanup in submodule tests --- tests/worktree/submodule.c | 72 ++++++++++++++++---------------------- 1 file changed, 31 insertions(+), 41 deletions(-) diff --git a/tests/worktree/submodule.c b/tests/worktree/submodule.c index 1d8e46cc8..b43507045 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" +static worktree_fixture parent + = WORKTREE_FIXTURE_INIT("submodules", WORKTREE_PARENT); +static worktree_fixture child + = WORKTREE_FIXTURE_INIT(NULL, WORKTREE_CHILD); + +void test_worktree_submodule__initialize(void) +{ + setup_fixture_worktree(&parent); + + cl_git_pass(p_rename( + "submodules/testrepo/.gitted", + "submodules/testrepo/.git")); + + setup_fixture_worktree(&child); +} + +void test_worktree_submodule__cleanup(void) +{ + cleanup_fixture_worktree(&child); + cleanup_fixture_worktree(&parent); +} + void test_worktree_submodule__submodule_worktree_parent(void) { - worktree_fixture fixture = - WORKTREE_FIXTURE_INIT("submodules", WORKTREE_PARENT); - setup_fixture_worktree(&fixture); + cl_assert(git_repository_path(parent.worktree) != NULL); + cl_assert(git_repository_workdir(parent.worktree) != NULL); - cl_assert(git_repository_path(fixture.worktree) != NULL); - cl_assert(git_repository_workdir(fixture.worktree) != NULL); - - cl_assert(!fixture.repo->is_worktree); - cl_assert(fixture.worktree->is_worktree); - - cleanup_fixture_worktree(&fixture); + cl_assert(!parent.repo->is_worktree); + cl_assert(parent.worktree->is_worktree); } void test_worktree_submodule__submodule_worktree_child(void) { - worktree_fixture parent_fixture = - WORKTREE_FIXTURE_INIT("submodules", WORKTREE_PARENT); - worktree_fixture child_fixture = - WORKTREE_FIXTURE_INIT(NULL, WORKTREE_CHILD); - - setup_fixture_worktree(&parent_fixture); - cl_git_pass(p_rename( - "submodules/testrepo/.gitted", - "submodules/testrepo/.git")); - setup_fixture_worktree(&child_fixture); - - cl_assert(!parent_fixture.repo->is_worktree); - cl_assert(parent_fixture.worktree->is_worktree); - cl_assert(child_fixture.worktree->is_worktree); - - cleanup_fixture_worktree(&child_fixture); - cleanup_fixture_worktree(&parent_fixture); + 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); }