open.c 1.32 KB
Newer Older
1
#include "clar_libgit2.h"
2 3
#include "posix.h"

4 5 6
static git_repository *repo;

void test_repo_open__cleanup(void)
7
{
8 9
	git_repository_free(repo);
}
10

11 12
void test_repo_open__bare_empty_repo(void)
{
13
	cl_git_pass(git_repository_open(&repo, cl_fixture("empty_bare.git")));
14

15
	cl_assert(git_repository_path(repo) != NULL);
16 17
	cl_assert(git__suffixcmp(git_repository_path(repo), "/") == 0);

18
	cl_assert(git_repository_workdir(repo) == NULL);
19
}
20

21 22 23 24 25 26 27 28 29
void test_repo_open__standard_empty_repo_through_gitdir(void)
{
	cl_git_pass(git_repository_open(&repo, cl_fixture("empty_standard_repo/.gitted")));

	cl_assert(git_repository_path(repo) != NULL);
	cl_assert(git__suffixcmp(git_repository_path(repo), "/") == 0);

	cl_assert(git_repository_workdir(repo) != NULL);
	cl_assert(git__suffixcmp(git_repository_workdir(repo), "/") == 0);
30 31
}

32
void test_repo_open__standard_empty_repo_through_workdir(void)
33
{
34 35 36 37
	cl_fixture_sandbox("empty_standard_repo");
	cl_git_pass(p_rename("empty_standard_repo/.gitted", "empty_standard_repo/.git"));

	cl_git_pass(git_repository_open(&repo, "empty_standard_repo"));
38 39

	cl_assert(git_repository_path(repo) != NULL);
40 41
	cl_assert(git__suffixcmp(git_repository_path(repo), "/") == 0);

42
	cl_assert(git_repository_workdir(repo) != NULL);
43
	cl_assert(git__suffixcmp(git_repository_workdir(repo), "/") == 0);
44

45
	cl_fixture_cleanup("empty_standard_repo");
46
}