Merge pull request #4673 from pks-t/pks/submodule-dupes-simplify-test tests: submodule: do not rely on config iteration order
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
diff --git a/tests/submodule/lookup.c b/tests/submodule/lookup.c
index 5db5c2d..f73ca26 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();