From 9873fd5317615168a0871058e8fd4668adc199b5 Mon Sep 17 00:00:00 2001 From: Dan Fandrich Date: Wed, 29 Jan 2014 00:31:00 +0100 Subject: tests: make a few lib15?? tests pass the OOM torture tests --- tests/libtest/lib1506.c | 14 ++++++++------ tests/libtest/lib1507.c | 20 ++++++++++---------- tests/libtest/lib1510.c | 9 +++++++-- 3 files changed, 25 insertions(+), 18 deletions(-) diff --git a/tests/libtest/lib1506.c b/tests/libtest/lib1506.c index 008a9cae1..ca1cdc96f 100644 --- a/tests/libtest/lib1506.c +++ b/tests/libtest/lib1506.c @@ -32,13 +32,13 @@ int test(char *URL) { int res = 0; - CURL *curl[NUM_HANDLES]; + CURL *curl[NUM_HANDLES] = {0}; int running; CURLM *m = NULL; int i; char target_url[256]; char dnsentry[256]; - struct curl_slist *slist = NULL; + struct curl_slist *slist = NULL, *slist2; char *port = libtest_arg3; char *address = libtest_arg2; @@ -48,12 +48,14 @@ int test(char *URL) for(i=0; i < NUM_HANDLES; i++) { sprintf(dnsentry, "server%d.example.com:%s:%s", i + 1, port, address); printf("%s\n", dnsentry); - slist = curl_slist_append(slist, dnsentry); + slist2 = curl_slist_append(slist, dnsentry); + if(!slist2) { + fprintf(stderr, "curl_slist_append() failed\n"); + goto test_cleanup; + } + slist = slist2; } - for(i=0; i < NUM_HANDLES; i++) - curl[i] = NULL; - start_test_timing(); global_init(CURL_GLOBAL_ALL); diff --git a/tests/libtest/lib1507.c b/tests/libtest/lib1507.c index dec0c3bcf..5bb61b3b4 100644 --- a/tests/libtest/lib1507.c +++ b/tests/libtest/lib1507.c @@ -63,21 +63,18 @@ static long tvdiff(struct timeval newer, struct timeval older) int test(char *URL) { - CURL *curl; - CURLM *mcurl; + int res = 0; + CURL *curl = NULL; + CURLM *mcurl = NULL; int still_running = 1; struct timeval mp_start; struct curl_slist* rcpt_list = NULL; curl_global_init(CURL_GLOBAL_DEFAULT); - curl = curl_easy_init(); - if(!curl) - return 1; + easy_init(curl); - mcurl = curl_multi_init(); - if(!mcurl) - return 2; + multi_init(mcurl); rcpt_list = curl_slist_append(rcpt_list, RECIPIENT); /* more addresses can be added here @@ -94,7 +91,7 @@ int test(char *URL) curl_easy_setopt(curl, CURLOPT_MAIL_FROM, MAILFROM); curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, rcpt_list); curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); - curl_multi_add_handle(mcurl, curl); + multi_add_handle(mcurl, curl); mp_start = tvnow(); @@ -157,12 +154,15 @@ int test(char *URL) } } +test_cleanup: + curl_slist_free_all(rcpt_list); curl_multi_remove_handle(mcurl, curl); curl_multi_cleanup(mcurl); curl_easy_cleanup(curl); curl_global_cleanup(); - return 0; + + return res; } diff --git a/tests/libtest/lib1510.c b/tests/libtest/lib1510.c index 1bcf2165a..d19a7b5f0 100644 --- a/tests/libtest/lib1510.c +++ b/tests/libtest/lib1510.c @@ -36,7 +36,7 @@ int test(char *URL) int i; char target_url[256]; char dnsentry[256]; - struct curl_slist *slist = NULL; + struct curl_slist *slist = NULL, *slist2; char *port = libtest_arg3; char *address = libtest_arg2; @@ -46,7 +46,12 @@ int test(char *URL) for(i=0; i < NUM_URLS; i++) { sprintf(dnsentry, "server%d.example.com:%s:%s", i + 1, port, address); printf("%s\n", dnsentry); - slist = curl_slist_append(slist, dnsentry); + slist2 = curl_slist_append(slist, dnsentry); + if(!slist2) { + fprintf(stderr, "curl_slist_append() failed\n"); + goto test_cleanup; + } + slist = slist2; } start_test_timing(); -- cgit v1.2.3