diff options
author | Carlos Martín Nieto <cmn@elego.de> | 2013-04-15 22:53:57 +0200 |
---|---|---|
committer | Carlos Martín Nieto <cmn@elego.de> | 2013-04-15 23:22:32 +0200 |
commit | 67ba7d2031f1eef63d66db6ce3ecaceddb06a4f3 (patch) | |
tree | 4a1a7e8e054747481d28538d229dbd3553dedb90 /tests-clar/online/fetch.c | |
parent | 77849ebf1e39126bcb9f1245423749d45d226022 (diff) | |
download | libgit2-67ba7d2031f1eef63d66db6ce3ecaceddb06a4f3.tar.gz |
Allow git_remote_ls after disconnecting from the remote
Keep the data around until free, as expected by our own fetch example
Diffstat (limited to 'tests-clar/online/fetch.c')
-rw-r--r-- | tests-clar/online/fetch.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests-clar/online/fetch.c b/tests-clar/online/fetch.c index a0ee7aac8..bfa1eb972 100644 --- a/tests-clar/online/fetch.c +++ b/tests-clar/online/fetch.c @@ -134,3 +134,30 @@ void test_online_fetch__can_cancel(void) git_remote_disconnect(remote); git_remote_free(remote); } + +int ls_cb(git_remote_head *rhead, void *payload) +{ + int *nr = payload; + GIT_UNUSED(rhead); + + (*nr)++; + + return 0; +} + +void test_online_fetch__ls_disconnected(void) +{ + git_remote *remote; + int nr_before = 0, nr_after = 0; + + cl_git_pass(git_remote_create(&remote, _repo, "test", + "http://github.com/libgit2/TestGitRepository.git")); + cl_git_pass(git_remote_connect(remote, GIT_DIRECTION_FETCH)); + cl_git_pass(git_remote_ls(remote, ls_cb, &nr_before)); + git_remote_disconnect(remote); + cl_git_pass(git_remote_ls(remote, ls_cb, &nr_after)); + + cl_assert_equal_i(nr_before, nr_after); + + git_remote_free(remote); +} |