diff options
author | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2021-08-15 15:51:01 +0300 |
---|---|---|
committer | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2021-08-15 15:51:01 +0300 |
commit | a03cd38794f0a4f896f8f3156baddfca555634bb (patch) | |
tree | 4777b1056b9ad3050b6059db9a451f61908a24cc /src/testcurl/test_callback.c | |
parent | f5d387df7e7fb8de1a5dd0739ddb83a8b19fe64b (diff) | |
download | libmicrohttpd-a03cd38794f0a4f896f8f3156baddfca555634bb.tar.gz libmicrohttpd-a03cd38794f0a4f896f8f3156baddfca555634bb.zip |
test_callback: improved test
Added detection of curl reported errors,
Added check that data was sent.
Diffstat (limited to 'src/testcurl/test_callback.c')
-rw-r--r-- | src/testcurl/test_callback.c | 46 |
1 files changed, 29 insertions, 17 deletions
diff --git a/src/testcurl/test_callback.c b/src/testcurl/test_callback.c index d9dfecef..fe337800 100644 --- a/src/testcurl/test_callback.c +++ b/src/testcurl/test_callback.c | |||
@@ -54,6 +54,7 @@ called_twice (void *cls, uint64_t pos, char *buf, size_t max) | |||
54 | } | 54 | } |
55 | fprintf (stderr, | 55 | fprintf (stderr, |
56 | "Handler called after returning END_OF_STREAM!\n"); | 56 | "Handler called after returning END_OF_STREAM!\n"); |
57 | abort (); | ||
57 | return MHD_CONTENT_READER_END_WITH_ERROR; | 58 | return MHD_CONTENT_READER_END_WITH_ERROR; |
58 | } | 59 | } |
59 | 60 | ||
@@ -170,7 +171,7 @@ main (int argc, char **argv) | |||
170 | { | 171 | { |
171 | curl_easy_cleanup (c); | 172 | curl_easy_cleanup (c); |
172 | MHD_stop_daemon (d); | 173 | MHD_stop_daemon (d); |
173 | return 1; | 174 | return 99; |
174 | } | 175 | } |
175 | mret = curl_multi_add_handle (multi, c); | 176 | mret = curl_multi_add_handle (multi, c); |
176 | if (mret != CURLM_OK) | 177 | if (mret != CURLM_OK) |
@@ -178,7 +179,7 @@ main (int argc, char **argv) | |||
178 | curl_multi_cleanup (multi); | 179 | curl_multi_cleanup (multi); |
179 | curl_easy_cleanup (c); | 180 | curl_easy_cleanup (c); |
180 | MHD_stop_daemon (d); | 181 | MHD_stop_daemon (d); |
181 | return 2; | 182 | return 99; |
182 | } | 183 | } |
183 | extra = 10; | 184 | extra = 10; |
184 | while ( (c != NULL) || (--extra > 0) ) | 185 | while ( (c != NULL) || (--extra > 0) ) |
@@ -198,7 +199,7 @@ main (int argc, char **argv) | |||
198 | curl_multi_cleanup (multi); | 199 | curl_multi_cleanup (multi); |
199 | curl_easy_cleanup (c); | 200 | curl_easy_cleanup (c); |
200 | MHD_stop_daemon (d); | 201 | MHD_stop_daemon (d); |
201 | return 3; | 202 | return 99; |
202 | } | 203 | } |
203 | } | 204 | } |
204 | if (MHD_YES != | 205 | if (MHD_YES != |
@@ -231,22 +232,33 @@ main (int argc, char **argv) | |||
231 | curl_multi_perform (multi, &running); | 232 | curl_multi_perform (multi, &running); |
232 | if (running == 0) | 233 | if (running == 0) |
233 | { | 234 | { |
234 | msg = curl_multi_info_read (multi, &running); | 235 | int pending; |
235 | if (msg == NULL) | 236 | int curl_fine = 0; |
236 | break; | 237 | while (NULL != (msg = curl_multi_info_read (multi, &pending))) |
237 | if (msg->msg == CURLMSG_DONE) | ||
238 | { | 238 | { |
239 | if (msg->data.result != CURLE_OK) | 239 | if (msg->msg != CURLMSG_DONE) |
240 | printf ("%s failed at %s:%d: `%s'\n", | 240 | { |
241 | "curl_multi_perform", | 241 | if (msg->data.result != CURLE_OK) |
242 | __FILE__, | 242 | fprintf (stderr, |
243 | __LINE__, curl_easy_strerror (msg->data.result)); | 243 | "%s failed at %s:%d: `%s'\n", |
244 | curl_multi_remove_handle (multi, c); | 244 | "curl_multi_perform", |
245 | curl_multi_cleanup (multi); | 245 | __FILE__, |
246 | curl_easy_cleanup (c); | 246 | __LINE__, curl_easy_strerror (msg->data.result)); |
247 | c = NULL; | 247 | abort (); |
248 | multi = NULL; | 248 | } |
249 | else | ||
250 | curl_fine = 1; | ||
249 | } | 251 | } |
252 | if (! curl_fine) | ||
253 | { | ||
254 | fprintf (stderr, "libcurl haven't returned OK code\n"); | ||
255 | abort (); | ||
256 | } | ||
257 | curl_multi_remove_handle (multi, c); | ||
258 | curl_multi_cleanup (multi); | ||
259 | curl_easy_cleanup (c); | ||
260 | c = NULL; | ||
261 | multi = NULL; | ||
250 | } | 262 | } |
251 | } | 263 | } |
252 | MHD_run (d); | 264 | MHD_run (d); |