Commit 7e3c13e08078f56b3307eba3b0c054ff6cc59c24

Etienne Samson 2018-06-29T14:39:08

tests: worktree/bare: gather all tests

diff --git a/tests/worktree/bare.c b/tests/worktree/bare.c
new file mode 100644
index 0000000..4af5d66
--- /dev/null
+++ b/tests/worktree/bare.c
@@ -0,0 +1,47 @@
+#include "clar_libgit2.h"
+#include "worktree_helpers.h"
+#include "submodule/submodule_helpers.h"
+
+#define COMMON_REPO "testrepo.git"
+#define WORKTREE_REPO "worktree"
+
+static git_repository *g_repo;
+
+void test_worktree_bare__initialize(void)
+{
+	g_repo = cl_git_sandbox_init(COMMON_REPO);
+
+	cl_assert_equal_i(1, git_repository_is_bare(g_repo));
+	cl_assert_equal_i(0, git_repository_is_worktree(g_repo));
+}
+
+void test_worktree_bare__cleanup(void)
+{
+	cl_fixture_cleanup(WORKTREE_REPO);
+	cl_git_sandbox_cleanup();
+}
+
+void test_worktree_bare__list(void)
+{
+	git_strarray wts;
+
+	cl_git_pass(git_worktree_list(&wts, g_repo));
+	cl_assert_equal_i(wts.count, 0);
+
+	git_strarray_free(&wts);
+}
+
+void test_worktree_bare__add(void)
+{
+	git_worktree *wt;
+	git_repository *wtrepo;
+
+	cl_git_pass(git_worktree_add(&wt, g_repo, "name", WORKTREE_REPO, NULL));
+
+	cl_git_pass(git_repository_open(&wtrepo, WORKTREE_REPO));
+	cl_assert_equal_i(0, git_repository_is_bare(wtrepo));
+	cl_assert_equal_i(1, git_repository_is_worktree(wtrepo));
+
+	git_worktree_free(wt);
+	git_repository_free(wtrepo);
+}
diff --git a/tests/worktree/worktree.c b/tests/worktree/worktree.c
index 83be097..6935f60 100644
--- a/tests/worktree/worktree.c
+++ b/tests/worktree/worktree.c
@@ -84,18 +84,6 @@ void test_worktree_worktree__list_in_worktree_repo(void)
 	git_strarray_free(&wts);
 }
 
-void test_worktree_worktree__list_bare(void)
-{
-	git_repository *repo;
-	git_strarray wts;
-
-	repo = cl_git_sandbox_init("testrepo.git");
-	cl_git_pass(git_worktree_list(&wts, repo));
-	cl_assert_equal_i(wts.count, 0);
-
-	git_repository_free(repo);
-}
-
 void test_worktree_worktree__list_without_worktrees(void)
 {
 	git_repository *repo;
@@ -228,26 +216,6 @@ void test_worktree_worktree__init(void)
 	git_repository_free(repo);
 }
 
-void test_worktree_worktree__add_from_bare(void)
-{
-	git_worktree *wt;
-	git_repository *repo, *wtrepo;
-
-	repo = cl_git_sandbox_init("short_tag.git");
-
-	cl_assert_equal_i(1, git_repository_is_bare(repo));
-	cl_assert_equal_i(0, git_repository_is_worktree(repo));
-
-	cl_git_pass(git_worktree_add(&wt, repo, "worktree-frombare", "worktree-frombare", NULL));
-	cl_git_pass(git_repository_open(&wtrepo, "worktree-frombare"));
-	cl_assert_equal_i(0, git_repository_is_bare(wtrepo));
-	cl_assert_equal_i(1, git_repository_is_worktree(wtrepo));
-
-	git_worktree_free(wt);
-	git_repository_free(repo);
-	git_repository_free(wtrepo);
-}
-
 void test_worktree_worktree__add_locked(void)
 {
 	git_worktree *wt;