Skip to content

Commit 09b1ac1

Browse files
committed
tests: submodule: fix tests for cloning submodules
The test submodule::add::homemade_clone unfortunately doesn't test what's expected, but does instead clone the submodule to a directory that is outside of the parent repository. Fixing this by cloning to the correct location isn't possible, though, as `git_submodule_add_setup` will have pre-created a ".git" file already, which will cause `git_clone` to error out. As it's not possible to perform the clone without fiddling around with the repo's layout, let's just remove this test as that is in fact what the new `git_submodule_clone` function is for.
1 parent 3c5d78b commit 09b1ac1

File tree

1 file changed

+0
-52
lines changed

1 file changed

+0
-52
lines changed

tests/submodule/add.c

Lines changed: 0 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -185,58 +185,6 @@ void test_submodule_add__file_exists_in_index(void)
185185
git_buf_dispose(&name);
186186
}
187187

188-
static int just_return_origin(git_remote **out, git_repository *repo, const char *name, const char *url, void *payload)
189-
{
190-
GIT_UNUSED(url); GIT_UNUSED(payload);
191-
192-
return git_remote_lookup(out, repo, name);
193-
}
194-
195-
static int just_return_repo(git_repository **out, const char *path, int bare, void *payload)
196-
{
197-
git_submodule *sm = payload;
198-
199-
GIT_UNUSED(path); GIT_UNUSED(bare);
200-
201-
return git_submodule_open(out, sm);
202-
}
203-
204-
void test_submodule_add__homemade_clone(void)
205-
{
206-
git_clone_options clone_opts = GIT_CLONE_OPTIONS_INIT;
207-
git_index *index;
208-
git_oid tree_id, commit_id;
209-
git_submodule *sm;
210-
git_signature *sig;
211-
git_repository *sm_repo;
212-
213-
cl_git_pass(git_repository_init(&g_repo, "willaddsubmodule", false));
214-
215-
/* Create the submodule structure, clone into it and finalize */
216-
cl_git_pass(git_submodule_add_setup(&sm, g_repo, cl_fixture("testrepo.git"), "testrepo", true));
217-
218-
clone_opts.repository_cb = just_return_repo;
219-
clone_opts.repository_cb_payload = sm;
220-
clone_opts.remote_cb = just_return_origin;
221-
clone_opts.remote_cb_payload = sm;
222-
cl_git_pass(git_clone(&sm_repo, cl_fixture("testrepo.git"), "testrepo", &clone_opts));
223-
cl_git_pass(git_submodule_add_finalize(sm));
224-
git_repository_free(sm_repo);
225-
git_submodule_free(sm);
226-
227-
cl_git_pass(git_repository_index(&index, g_repo));
228-
cl_git_pass(git_index_write_tree(&tree_id, index));
229-
git_index_free(index);
230-
231-
cl_git_pass(git_signature_now(&sig, "Submoduler", "submoduler@local"));
232-
cl_git_pass(git_commit_create_from_ids(&commit_id, g_repo, "HEAD", sig, sig, NULL, "A submodule\n",
233-
&tree_id, 0, NULL));
234-
235-
git_signature_free(sig);
236-
237-
assert_submodule_exists(g_repo, "testrepo");
238-
}
239-
240188
void test_submodule_add__submodule_clone(void)
241189
{
242190
git_index *index;

0 commit comments

Comments
 (0)