mirror of
https://github.com/moparisthebest/curl
synced 2025-02-28 09:21:50 -05:00
parent
f389953da0
commit
5ada900458
@ -100,6 +100,9 @@ UNITTEST_START
|
||||
{
|
||||
int i;
|
||||
int testnum = sizeof(tests) / sizeof(struct testcase);
|
||||
struct Curl_multi *multi = NULL;
|
||||
struct Curl_easy *easy = NULL;
|
||||
struct curl_slist *list = NULL;
|
||||
|
||||
/* important: we setup cache outside of the loop
|
||||
and also clean cache after the loop. In contrast,for example,
|
||||
@ -110,11 +113,9 @@ UNITTEST_START
|
||||
int addressnum = sizeof (tests[i].address) / sizeof (*tests[i].address);
|
||||
struct Curl_addrinfo *addr;
|
||||
struct Curl_dns_entry *dns;
|
||||
struct curl_slist *list;
|
||||
void *entry_id;
|
||||
bool problem = false;
|
||||
struct Curl_multi *multi;
|
||||
struct Curl_easy *easy = curl_easy_init();
|
||||
easy = curl_easy_init();
|
||||
if(!easy) {
|
||||
curl_global_cleanup();
|
||||
return CURLE_OUT_OF_MEMORY;
|
||||
@ -122,21 +123,23 @@ UNITTEST_START
|
||||
/* create a multi handle and add the easy handle to it so that the
|
||||
hostcache is setup */
|
||||
multi = curl_multi_init();
|
||||
if(!multi)
|
||||
goto error;
|
||||
curl_multi_add_handle(multi, easy);
|
||||
|
||||
list = curl_slist_append(NULL, tests[i].optval);
|
||||
if(!list)
|
||||
goto unit_test_abort;
|
||||
goto error;
|
||||
|
||||
curl_easy_setopt(easy, CURLOPT_RESOLVE, list);
|
||||
|
||||
Curl_loadhostpairs(easy);
|
||||
if(Curl_loadhostpairs(easy))
|
||||
goto error;
|
||||
|
||||
entry_id = (void *)aprintf("%s:%d", tests[i].host, tests[i].port);
|
||||
if(!entry_id) {
|
||||
curl_slist_free_all(list);
|
||||
goto unit_test_abort;
|
||||
}
|
||||
if(!entry_id)
|
||||
goto error;
|
||||
|
||||
dns = Curl_hash_pick(easy->dns.hostcache, entry_id, strlen(entry_id) + 1);
|
||||
free(entry_id);
|
||||
entry_id = NULL;
|
||||
@ -194,14 +197,22 @@ UNITTEST_START
|
||||
}
|
||||
|
||||
curl_easy_cleanup(easy);
|
||||
easy = NULL;
|
||||
Curl_hash_destroy(&multi->hostcache);
|
||||
curl_multi_cleanup(multi);
|
||||
multi = NULL;
|
||||
curl_slist_free_all(list);
|
||||
list = NULL;
|
||||
|
||||
if(problem) {
|
||||
unitfail++;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
goto unit_test_abort;
|
||||
error:
|
||||
curl_easy_cleanup(easy);
|
||||
curl_multi_cleanup(multi);
|
||||
curl_slist_free_all(list);
|
||||
}
|
||||
UNITTEST_STOP
|
||||
|
Loading…
x
Reference in New Issue
Block a user