diff options
Diffstat (limited to 'src/testcurl/test_quiesce.c')
-rw-r--r-- | src/testcurl/test_quiesce.c | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/src/testcurl/test_quiesce.c b/src/testcurl/test_quiesce.c index 682d866e..59eea2d0 100644 --- a/src/testcurl/test_quiesce.c +++ b/src/testcurl/test_quiesce.c | |||
@@ -55,6 +55,7 @@ struct CBC | |||
55 | size_t size; | 55 | size_t size; |
56 | }; | 56 | }; |
57 | 57 | ||
58 | static int port; | ||
58 | 59 | ||
59 | static size_t | 60 | static size_t |
60 | copyBuffer (void *ptr, size_t size, size_t nmemb, void *ctx) | 61 | copyBuffer (void *ptr, size_t size, size_t nmemb, void *ctx) |
@@ -126,7 +127,7 @@ ServeOneRequest(void *param) | |||
126 | fd = (MHD_socket) (intptr_t) param; | 127 | fd = (MHD_socket) (intptr_t) param; |
127 | 128 | ||
128 | d = MHD_start_daemon (MHD_USE_ERROR_LOG, | 129 | d = MHD_start_daemon (MHD_USE_ERROR_LOG, |
129 | 1082, NULL, NULL, &ahc_echo, "GET", | 130 | 0, NULL, NULL, &ahc_echo, "GET", |
130 | MHD_OPTION_LISTEN_SOCKET, fd, | 131 | MHD_OPTION_LISTEN_SOCKET, fd, |
131 | MHD_OPTION_NOTIFY_COMPLETED, &request_completed, &done, | 132 | MHD_OPTION_NOTIFY_COMPLETED, &request_completed, &done, |
132 | MHD_OPTION_END); | 133 | MHD_OPTION_END); |
@@ -172,7 +173,8 @@ setupCURL (void *cbc) | |||
172 | CURL *c; | 173 | CURL *c; |
173 | 174 | ||
174 | c = curl_easy_init (); | 175 | c = curl_easy_init (); |
175 | curl_easy_setopt (c, CURLOPT_URL, "http://127.0.0.1:11080/hello_world"); | 176 | curl_easy_setopt (c, CURLOPT_URL, "http://127.0.0.1/hello_world"); |
177 | curl_easy_setopt (c, CURLOPT_PORT, (long)port); | ||
176 | curl_easy_setopt (c, CURLOPT_WRITEFUNCTION, ©Buffer); | 178 | curl_easy_setopt (c, CURLOPT_WRITEFUNCTION, ©Buffer); |
177 | curl_easy_setopt (c, CURLOPT_WRITEDATA, cbc); | 179 | curl_easy_setopt (c, CURLOPT_WRITEDATA, cbc); |
178 | curl_easy_setopt (c, CURLOPT_FAILONERROR, 1); | 180 | curl_easy_setopt (c, CURLOPT_FAILONERROR, 1); |
@@ -200,20 +202,33 @@ testGet (int type, int pool_count, int poll_flag) | |||
200 | pthread_t thrd; | 202 | pthread_t thrd; |
201 | const char *thrdRet; | 203 | const char *thrdRet; |
202 | 204 | ||
205 | if (MHD_NO != MHD_is_feature_supported (MHD_FEATURE_AUTODETECT_BIND_PORT)) | ||
206 | port = 0; | ||
207 | else | ||
208 | port = 1480; | ||
209 | |||
203 | cbc.buf = buf; | 210 | cbc.buf = buf; |
204 | cbc.size = 2048; | 211 | cbc.size = 2048; |
205 | cbc.pos = 0; | 212 | cbc.pos = 0; |
206 | if (pool_count > 0) { | 213 | if (pool_count > 0) { |
207 | d = MHD_start_daemon (type | MHD_USE_ERROR_LOG | MHD_USE_ITC | poll_flag, | 214 | d = MHD_start_daemon (type | MHD_USE_ERROR_LOG | MHD_USE_ITC | poll_flag, |
208 | 11080, NULL, NULL, &ahc_echo, "GET", | 215 | port, NULL, NULL, &ahc_echo, "GET", |
209 | MHD_OPTION_THREAD_POOL_SIZE, pool_count, MHD_OPTION_END); | 216 | MHD_OPTION_THREAD_POOL_SIZE, pool_count, MHD_OPTION_END); |
210 | 217 | ||
211 | } else { | 218 | } else { |
212 | d = MHD_start_daemon (type | MHD_USE_ERROR_LOG | MHD_USE_ITC | poll_flag, | 219 | d = MHD_start_daemon (type | MHD_USE_ERROR_LOG | MHD_USE_ITC | poll_flag, |
213 | 11080, NULL, NULL, &ahc_echo, "GET", MHD_OPTION_END); | 220 | port, NULL, NULL, &ahc_echo, "GET", MHD_OPTION_END); |
214 | } | 221 | } |
215 | if (d == NULL) | 222 | if (d == NULL) |
216 | return 1; | 223 | return 1; |
224 | if (0 == port) | ||
225 | { | ||
226 | const union MHD_DaemonInfo *dinfo; | ||
227 | dinfo = MHD_get_daemon_info (d, MHD_DAEMON_INFO_BIND_PORT); | ||
228 | if (NULL == dinfo || 0 == dinfo->port) | ||
229 | { MHD_stop_daemon (d); return 32; } | ||
230 | port = (int)dinfo->port; | ||
231 | } | ||
217 | 232 | ||
218 | c = setupCURL(&cbc); | 233 | c = setupCURL(&cbc); |
219 | 234 | ||
@@ -342,17 +357,30 @@ testExternalGet () | |||
342 | int i; | 357 | int i; |
343 | MHD_socket fd; | 358 | MHD_socket fd; |
344 | 359 | ||
360 | if (MHD_NO != MHD_is_feature_supported (MHD_FEATURE_AUTODETECT_BIND_PORT)) | ||
361 | port = 0; | ||
362 | else | ||
363 | port = 1481; | ||
364 | |||
345 | multi = NULL; | 365 | multi = NULL; |
346 | cbc.buf = buf; | 366 | cbc.buf = buf; |
347 | cbc.size = 2048; | 367 | cbc.size = 2048; |
348 | cbc.pos = 0; | 368 | cbc.pos = 0; |
349 | d = MHD_start_daemon (MHD_USE_ERROR_LOG, | 369 | d = MHD_start_daemon (MHD_USE_ERROR_LOG, |
350 | 11080, | 370 | port, |
351 | NULL, NULL, | 371 | NULL, NULL, |
352 | &ahc_echo, "GET", | 372 | &ahc_echo, "GET", |
353 | MHD_OPTION_END); | 373 | MHD_OPTION_END); |
354 | if (d == NULL) | 374 | if (d == NULL) |
355 | return 256; | 375 | return 256; |
376 | if (0 == port) | ||
377 | { | ||
378 | const union MHD_DaemonInfo *dinfo; | ||
379 | dinfo = MHD_get_daemon_info (d, MHD_DAEMON_INFO_BIND_PORT); | ||
380 | if (NULL == dinfo || 0 == dinfo->port) | ||
381 | { MHD_stop_daemon (d); return 32; } | ||
382 | port = (int)dinfo->port; | ||
383 | } | ||
356 | c = setupCURL(&cbc); | 384 | c = setupCURL(&cbc); |
357 | 385 | ||
358 | multi = curl_multi_init (); | 386 | multi = curl_multi_init (); |