mirror of
https://git.proxmox.com/git/libgit2
synced 2025-08-14 09:36:08 +00:00
Improve test coverage of new path prettifying behavior
This commit is contained in:
parent
3644e98fd9
commit
ba1bdf86e7
@ -158,7 +158,7 @@ BEGIN_TEST(init1, "initialize a bare repo")
|
||||
must_pass(ensure_repository_init(TEMP_REPO_FOLDER_NS, BARE_REPOSITORY, NULL, path_repository, NULL));
|
||||
END_TEST
|
||||
|
||||
BEGIN_TEST(init2, "Initialize a bare repo with a relative path escaping out of the current working directory")
|
||||
BEGIN_TEST(init2, "Initialize and open a bare repo with a relative path escaping out of the current working directory")
|
||||
char path_repository[GIT_PATH_MAX];
|
||||
char current_workdir[GIT_PATH_MAX];
|
||||
const int mode = 0755; /* or 0777 ? */
|
||||
@ -176,6 +176,38 @@ BEGIN_TEST(init2, "Initialize a bare repo with a relative path escaping out of t
|
||||
|
||||
git_repository_free(repo);
|
||||
|
||||
must_pass(git_repository_open(&repo, "../d/e.git"));
|
||||
|
||||
git_repository_free(repo);
|
||||
|
||||
must_pass(chdir(current_workdir));
|
||||
rmdir_recurs(TEMP_REPO_FOLDER);
|
||||
END_TEST
|
||||
|
||||
BEGIN_TEST(open2, "Open a bare repository with a relative path escaping out of the current working directory")
|
||||
char new_current_workdir[GIT_PATH_MAX];
|
||||
char current_workdir[GIT_PATH_MAX];
|
||||
char path_repository[GIT_PATH_MAX];
|
||||
|
||||
const int mode = 0755; /* or 0777 ? */
|
||||
git_repository* repo;
|
||||
|
||||
/* Setup the repository to open */
|
||||
must_pass(gitfo_getcwd(current_workdir, sizeof(current_workdir)));
|
||||
strcpy(path_repository, current_workdir);
|
||||
git__joinpath_n(path_repository, 3, path_repository, TEMP_REPO_FOLDER, "a/d/e.git");
|
||||
must_pass(gitfo_mkdir_recurs(path_repository, mode));
|
||||
must_pass(copydir_recurs(REPOSITORY_FOLDER, path_repository));
|
||||
|
||||
/* Change the current working directory */
|
||||
git__joinpath(new_current_workdir, TEMP_REPO_FOLDER, "a/b/c/");
|
||||
must_pass(gitfo_mkdir_recurs(new_current_workdir, mode));
|
||||
must_pass(chdir(new_current_workdir));
|
||||
|
||||
must_pass(git_repository_open(&repo, "../../d/e.git"));
|
||||
|
||||
git_repository_free(repo);
|
||||
|
||||
must_pass(chdir(current_workdir));
|
||||
rmdir_recurs(TEMP_REPO_FOLDER);
|
||||
END_TEST
|
||||
@ -186,5 +218,6 @@ BEGIN_SUITE(repository)
|
||||
ADD_TEST(init0);
|
||||
ADD_TEST(init1);
|
||||
ADD_TEST(init2);
|
||||
ADD_TEST(open2);
|
||||
END_SUITE
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user