summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2018-06-06 13:55:16 +0200
committerGitHub <noreply@github.com>2018-06-06 13:55:16 +0200
commit991bf69136b61f319f6fe06241774668da6d37d9 (patch)
tree04fec61aa321216b3716229509ae8d691be0dfaa
parent54990d757c8abd4b63aac5f255b5219d3fb9d98e (diff)
parent8178c70ff43efdc0f176f32a7b6e5c8f55f3e67c (diff)
downloadlibgit2-991bf69136b61f319f6fe06241774668da6d37d9.tar.gz
Merge pull request #4673 from pks-t/pks/submodule-dupes-simplify-test
tests: submodule: do not rely on config iteration order
-rw-r--r--tests/submodule/lookup.c31
1 files changed, 9 insertions, 22 deletions
diff --git a/tests/submodule/lookup.c b/tests/submodule/lookup.c
index 5db5c2dd6..f73ca2679 100644
--- a/tests/submodule/lookup.c
+++ b/tests/submodule/lookup.c
@@ -132,7 +132,7 @@ void test_submodule_lookup__foreach(void)
cl_assert_equal_i(8, data.count);
}
-static int sm_dummy_cb(git_submodule *sm, const char *name, void *payload)
+static int foreach_cb(git_submodule *sm, const char *name, void *payload)
{
GIT_UNUSED(sm);
GIT_UNUSED(name);
@@ -142,20 +142,15 @@ static int sm_dummy_cb(git_submodule *sm, const char *name, void *payload)
void test_submodule_lookup__duplicated_path(void)
{
- /*
- * Manually invoke cleanup methods to remove leftovers
- * from `setup_fixture_submod2`
- */
- cl_git_sandbox_cleanup();
- cl_fixture_cleanup("submod2_target");
-
- g_repo = setup_fixture_submodules();
+ cl_git_rewritefile("submod2/.gitmodules",
+ "[submodule \"sm1\"]\n"
+ " path = duplicated-path\n"
+ " url = sm1\n"
+ "[submodule \"sm2\"]\n"
+ " path = duplicated-path\n"
+ " url = sm2\n");
- /*
- * This should fail, as the submodules repo has an
- * invalid gitmodules file with duplicated paths.
- */
- cl_git_fail(git_submodule_foreach(g_repo, sm_dummy_cb, NULL));
+ cl_git_fail(git_submodule_foreach(g_repo, foreach_cb, NULL));
}
void test_submodule_lookup__lookup_even_with_unborn_head(void)
@@ -456,14 +451,6 @@ void test_submodule_lookup__lookup_in_bare_repository_fails(void)
cl_git_fail(git_submodule_lookup(&sm, g_repo, "nonexisting"));
}
-static int foreach_cb(git_submodule *sm, const char *name, void *payload)
-{
- GIT_UNUSED(sm);
- GIT_UNUSED(name);
- GIT_UNUSED(payload);
- return 0;
-}
-
void test_submodule_lookup__foreach_in_bare_repository_fails(void)
{
cl_git_sandbox_cleanup();