diff options
author | Patrick Steinhardt <ps@pks.im> | 2016-11-07 10:23:34 +0100 |
---|---|---|
committer | Patrick Steinhardt <ps@pks.im> | 2017-02-13 11:09:57 +0100 |
commit | 1fd6e035ddb27a0271c5cc734698835317e93249 (patch) | |
tree | fc378f934264df83fcbf46007165c98934020d20 | |
parent | 39abd3adaa62f287f5cda0a63c7cfca647283e9c (diff) | |
download | libgit2-1fd6e035ddb27a0271c5cc734698835317e93249.tar.gz |
worktree: test opening discovered submodule worktrees
-rw-r--r-- | tests/worktree/open.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/worktree/open.c b/tests/worktree/open.c index f5b668177..2dc445a66 100644 --- a/tests/worktree/open.c +++ b/tests/worktree/open.c @@ -92,3 +92,30 @@ void test_worktree_open__submodule_worktree_child(void) cleanup_fixture_worktree(&child_fixture); cleanup_fixture_worktree(&parent_fixture); } + +void test_worktree_open__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)); + cl_git_pass(git_repository_open(&repo, path.ptr)); + cl_assert_equal_s(git_repository_workdir(child_fixture.worktree), + git_repository_workdir(repo)); + + git_buf_free(&path); + git_repository_free(repo); + cleanup_fixture_worktree(&child_fixture); + cleanup_fixture_worktree(&parent_fixture); +} |