Skip to content

Commit 1e64a44

Browse files
committed
fetch: expand fetchhead test to cover providing multiple refspecs
1 parent a8f19f8 commit 1e64a44

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

tests/fetchhead/nonetwork.c

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -353,20 +353,25 @@ void test_fetchhead_nonetwork__quote_in_branch_name(void)
353353
}
354354

355355
static bool found_master;
356-
static bool find_master_called;
356+
static bool found_haacked;
357+
static bool find_master_haacked_called;
357358

358-
int find_master(const char *ref_name, const char *remote_url, const git_oid *oid, unsigned int is_merge, void *payload)
359+
int find_master_haacked(const char *ref_name, const char *remote_url, const git_oid *oid, unsigned int is_merge, void *payload)
359360
{
360361
GIT_UNUSED(remote_url);
361362
GIT_UNUSED(oid);
362363
GIT_UNUSED(payload);
363364

364-
find_master_called = true;
365+
find_master_haacked_called = true;
365366

366367
if (!strcmp("refs/heads/master", ref_name)) {
367368
cl_assert(is_merge);
368369
found_master = true;
369370
}
371+
if (!strcmp("refs/heads/haacked", ref_name)) {
372+
cl_assert(is_merge);
373+
found_haacked = true;
374+
}
370375

371376
return 0;
372377
}
@@ -375,10 +380,12 @@ void test_fetchhead_nonetwork__create_when_refpecs_given(void)
375380
{
376381
git_remote *remote;
377382
git_buf path = GIT_BUF_INIT;
378-
char *refspec = "refs/heads/master";
383+
char *refspec1 = "refs/heads/master";
384+
char *refspec2 = "refs/heads/haacked";
385+
char *refspecs[] = { refspec1, refspec2 };
379386
git_strarray specs = {
380-
&refspec,
381-
1,
387+
refspecs,
388+
2,
382389
};
383390

384391
cl_set_cleanup(&cleanup_repository, "./test1");
@@ -391,9 +398,10 @@ void test_fetchhead_nonetwork__create_when_refpecs_given(void)
391398
cl_git_pass(git_remote_fetch(remote, &specs, NULL, NULL));
392399
cl_assert(git_path_exists(path.ptr));
393400

394-
cl_git_pass(git_repository_fetchhead_foreach(g_repo, find_master, NULL));
395-
cl_assert(find_master_called);
401+
cl_git_pass(git_repository_fetchhead_foreach(g_repo, find_master_haacked, NULL));
402+
cl_assert(find_master_haacked_called);
396403
cl_assert(found_master);
404+
cl_assert(found_haacked);
397405

398406
git_remote_free(remote);
399407
git_buf_free(&path);

0 commit comments

Comments
 (0)