aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES3
-rw-r--r--tests/libtest/lib552.c7
-rw-r--r--tests/libtest/lib553.c51
3 files changed, 38 insertions, 23 deletions
diff --git a/CHANGES b/CHANGES
index 82e3d5a61..a9bc57cf3 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,9 @@
Changelog
+Daniel Fandrich (11 Jul 2008)
+- Fixed test 553 to pass the torture test.
+
Daniel Stenberg (11 Jul 2008)
- Daniel Fandrich found out we didn't pass on the user-agent properly when
doing "proxy-tunnels" with non-HTTP prototols and that was simply because
diff --git a/tests/libtest/lib552.c b/tests/libtest/lib552.c
index 5a0eb1c68..1c6e23455 100644
--- a/tests/libtest/lib552.c
+++ b/tests/libtest/lib552.c
@@ -146,10 +146,10 @@ static curlioerr ioctl_callback(CURL * handle, int cmd, void *clientp)
int test(char *URL)
{
CURL *curl;
- CURLcode res;
+ CURLcode res = CURLE_OUT_OF_MEMORY;
struct data config;
size_t i;
- char fill[] = "test data";
+ static const char fill[] = "test data";
config.trace_ascii = 1; /* enable ascii tracing */
@@ -190,5 +190,6 @@ int test(char *URL)
/* always cleanup */
curl_easy_cleanup(curl);
}
- return 0;
+ curl_global_cleanup();
+ return (int)res;
}
diff --git a/tests/libtest/lib553.c b/tests/libtest/lib553.c
index 7af25e5bb..0603b3fd5 100644
--- a/tests/libtest/lib553.c
+++ b/tests/libtest/lib553.c
@@ -39,36 +39,47 @@ static size_t myreadfunc(void *ptr, size_t size, size_t nmemb, void *stream)
#define SIZE_HEADERS 5000
static char buf[SIZE_HEADERS + 100];
+
int test(char *URL)
{
CURL *curl;
CURLcode res;
int i;
- struct curl_slist *headerlist=NULL;
+ struct curl_slist *headerlist=NULL, *hl;
curl_global_init(CURL_GLOBAL_ALL);
curl = curl_easy_init();
- for (i = 0; i < NUM_HEADERS; i++) {
- int len;
- len = sprintf(buf, "Header%d: ", i);
- memset(&buf[len], 'A', SIZE_HEADERS);
- buf[len + SIZE_HEADERS]=0; /* zero terminate */
- headerlist = curl_slist_append(headerlist, buf);
+ if(curl) {
+ for (i = 0; i < NUM_HEADERS; i++) {
+ int len = sprintf(buf, "Header%d: ", i);
+ memset(&buf[len], 'A', SIZE_HEADERS);
+ buf[len + SIZE_HEADERS]=0; /* zero terminate */
+ hl = curl_slist_append(headerlist, buf);
+ if (!hl)
+ goto errout;
+ headerlist = hl;
+ }
+ hl = curl_slist_append(headerlist, "Expect: ");
+ if (!hl)
+ goto errout;
+ headerlist = hl;
+
+ curl_easy_setopt(curl, CURLOPT_URL, URL);
+ curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headerlist);
+ curl_easy_setopt(curl, CURLOPT_POST, 1L);
+ curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (long)POSTLEN);
+ curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
+ curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
+ curl_easy_setopt(curl, CURLOPT_READFUNCTION, myreadfunc);
+ res = curl_easy_perform(curl);
+
+errout:
+ curl_easy_cleanup(curl);
+
+ curl_slist_free_all(headerlist);
}
- headerlist = curl_slist_append(headerlist, "Expect: ");
-
- curl_easy_setopt(curl, CURLOPT_URL, URL);
- curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headerlist);
- curl_easy_setopt(curl, CURLOPT_POST, 1L);
- curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (long)POSTLEN);
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
- curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
- curl_easy_setopt(curl, CURLOPT_READFUNCTION, myreadfunc);
- res = curl_easy_perform(curl);
- curl_easy_cleanup(curl);
-
- curl_slist_free_all(headerlist);
+ curl_global_cleanup();
return (int)res;
}