33 #define TEST_HANG_TIMEOUT 5 * 1000 34 #define MAX_EASY_HANDLES 3 47 const size_t failure = (size && nmemb) ? 0 : 1;
50 counter[idx] += (int)(size * nmemb);
55 fprintf(stderr,
"%s:%d curl_easy_getinfo() failed, " 56 "with code %d (%s)\n",
75 fprintf(stderr,
"Handle %d started on socket %d and moved to %d\n",
97 size_t urllen = strlen(url) + 4 + 1;
98 char *full_url =
malloc(urllen);
103 fprintf(stderr,
"Not enough memory for full url\n");
120 #ifdef USE_PIPELINING 123 multi_setopt(multi, CURLMOPT_MAX_TOTAL_CONNECTIONS, 10L);
133 bool found_new_socket =
FALSE;
139 if(num_handles % 3 == 2) {
140 snprintf(full_url, urllen,
"%s0200", url);
144 snprintf(full_url, urllen,
"%s0100", url);
172 multi_fdset(multi, &fdread, &fdwrite, &fdexcep, &maxfd);
177 if(maxfd != -1 && !found_new_socket) {
178 fprintf(stderr,
"Warning: socket did not open immediately for new " 179 "handle (trying again)\n");
190 fprintf(stderr,
"%s:%d num_handles %d timeout %ld\n",
191 __FILE__, __LINE__, num_handles, timeout);
194 int itimeout = (timeout > (long)INT_MAX) ? INT_MAX : (int)timeout;
195 interval.
tv_sec = itimeout/1000;
196 interval.
tv_usec = (itimeout%1000)*1000;
205 if(!running && num_handles == MAX_EASY_HANDLES) {
210 select_test(maxfd + 1, &fdread, &fdwrite, &fdexcep, &interval);
#define select_test(A, B, C, D, E)
#define res_global_init(A)
#define easy_setopt(A, B, C)
#define multi_add_handle(A, B)
UNITTEST_START char * ptr
#define abort_on_test_timeout()
#define TEST_ERR_MAJOR_BAD
static int counter[MAX_EASY_HANDLES]
#define curl_easy_getinfo(handle, info, arg)
#define multi_setopt(A, B, C)
static curl_socket_t sockets[MAX_EASY_HANDLES]
#define multi_fdset(A, B, C, D, E)
CURL_EXTERN void curl_easy_cleanup(CURL *curl)
#define multi_perform(A, B)
CURL_EXTERN CURLMcode curl_multi_remove_handle(CURLM *multi_handle, CURL *curl_handle)
int curlx_sztosi(ssize_t sznum)
#define TEST_HANG_TIMEOUT
static CURL * easy[MAX_EASY_HANDLES]
CURL_EXTERN void curl_global_cleanup(void)
curl_global_cleanup() globally cleanups curl, uses the value of "init_flags" to determine what needs ...
CURL_EXTERN const char * curl_easy_strerror(CURLcode)
#define start_test_timing()
CURL_EXTERN CURLMcode curl_multi_cleanup(CURLM *multi_handle)
#define multi_timeout(A, B)
static size_t callback(char *ptr, size_t size, size_t nmemb, void *data)