aboutsummaryrefslogtreecommitdiff
path: root/tests/libtest/lib583.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/libtest/lib583.c')
-rw-r--r--tests/libtest/lib583.c79
1 files changed, 28 insertions, 51 deletions
diff --git a/tests/libtest/lib583.c b/tests/libtest/lib583.c
index 6fac67d07..ad5a5cea7 100644
--- a/tests/libtest/lib583.c
+++ b/tests/libtest/lib583.c
@@ -33,58 +33,36 @@
int test(char *URL)
{
int stillRunning;
- CURLM* multiHandle;
- CURL* curl;
- int res1 = 0;
- int res;
-
- if(curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
- fprintf(stderr, "curl_global_init() failed\n");
- return TEST_ERR_MAJOR_BAD;
- }
-
- if((multiHandle = curl_multi_init()) == NULL) {
- fprintf(stderr, "curl_multi_init() failed\n");
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- if((curl = curl_easy_init()) == NULL) {
- fprintf(stderr, "curl_easy_init() failed\n");
- curl_multi_cleanup(multiHandle);
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
-
- test_setopt(curl, CURLOPT_USERPWD, libtest_arg2);
- test_setopt(curl, CURLOPT_SSH_PUBLIC_KEYFILE, "curl_client_key.pub");
- test_setopt(curl, CURLOPT_SSH_PRIVATE_KEYFILE, "curl_client_key");
-
- test_setopt(curl, CURLOPT_UPLOAD, 1);
- test_setopt(curl, CURLOPT_VERBOSE, 1);
-
- test_setopt(curl, CURLOPT_URL, URL);
- test_setopt(curl, CURLOPT_INFILESIZE, (long)5);
-
- if((res = (int)curl_multi_add_handle(multiHandle, curl)) != CURLM_OK) {
- fprintf(stderr, "curl_multi_add_handle() failed, "
- "with code %d\n", res);
- curl_easy_cleanup(curl);
- curl_multi_cleanup(multiHandle);
- curl_global_cleanup();
- return TEST_ERR_MAJOR_BAD;
- }
+ CURLM* multiHandle = NULL;
+ CURL* curl = NULL;
+ int res = 0;
+
+ global_init(CURL_GLOBAL_ALL);
+
+ multi_init(multiHandle);
+
+ easy_init(curl);
+
+ easy_setopt(curl, CURLOPT_USERPWD, libtest_arg2);
+ easy_setopt(curl, CURLOPT_SSH_PUBLIC_KEYFILE, "curl_client_key.pub");
+ easy_setopt(curl, CURLOPT_SSH_PRIVATE_KEYFILE, "curl_client_key");
+
+ easy_setopt(curl, CURLOPT_UPLOAD, 1L);
+ easy_setopt(curl, CURLOPT_VERBOSE, 1L);
+
+ easy_setopt(curl, CURLOPT_URL, URL);
+ easy_setopt(curl, CURLOPT_INFILESIZE, (long)5);
+
+ multi_add_handle(multiHandle, curl);
/* this tests if removing an easy handle immediately after multi
perform has been called succeeds or not. */
fprintf(stderr, "curl_multi_perform()...\n");
- res1 = (int) curl_multi_perform(multiHandle, &stillRunning);
- if(res1)
- fprintf(stderr, "curl_multi_perform() failed, "
- "with code %d\n", res1);
- else
- fprintf(stderr, "curl_multi_perform() succeeded\n");
+
+ multi_perform(multiHandle, &stillRunning);
+
+ fprintf(stderr, "curl_multi_perform() succeeded\n");
fprintf(stderr, "curl_multi_remove_handle()...\n");
res = (int) curl_multi_remove_handle(multiHandle, curl);
@@ -96,12 +74,11 @@ int test(char *URL)
test_cleanup:
+ /* undocumented cleanup sequence - type UB */
+
curl_easy_cleanup(curl);
curl_multi_cleanup(multiHandle);
curl_global_cleanup();
- if(res)
- return res;
- else
- return res1;
+ return res;
}