]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
test677: improve robustness
authorStefan Eissing <stefan@eissing.org>
Thu, 8 Aug 2024 11:29:12 +0000 (13:29 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 9 Aug 2024 07:39:59 +0000 (09:39 +0200)
Do not treat CURLE_AGAIN as error.

Fixes test with CURL_DBG_SOCK_WBLOCK=90 set.

Closes #14455

tests/libtest/lib677.c

index 68ac75c1c2dbf687d4c91929275a101649713309..5864924fc77a98b7f541a147bdad4fbb4603d33f 100644 (file)
@@ -75,7 +75,7 @@ CURLcode test(char *URL)
       curl_easy_getinfo(curl, CURLINFO_ACTIVESOCKET, &sock);
       waitfd.fd = sock;
     }
-    curl_multi_wait(mcurl, &waitfd, sock == CURL_SOCKET_BAD ? 0 : 1, 500,
+    curl_multi_wait(mcurl, &waitfd, sock == CURL_SOCKET_BAD ? 0 : 1, 50,
                     &mrun);
     if((sock != CURL_SOCKET_BAD) && (waitfd.revents & waitfd.events)) {
       size_t len = 0;
@@ -83,7 +83,10 @@ CURLcode test(char *URL)
       if(!state) {
         CURLcode ec;
         ec = curl_easy_send(curl, cmd + pos, sizeof(cmd) - 1 - pos, &len);
-        if(ec != CURLE_OK) {
+        if(ec == CURLE_AGAIN) {
+          continue;
+        }
+        else if(ec) {
           fprintf(stderr, "curl_easy_send() failed, with code %d (%s)\n",
                   (int)ec, curl_easy_strerror(ec));
           res = ec;
@@ -101,7 +104,10 @@ CURLcode test(char *URL)
       else if(pos < (ssize_t)sizeof(buf)) {
         CURLcode ec;
         ec = curl_easy_recv(curl, buf + pos, sizeof(buf) - pos, &len);
-        if(ec != CURLE_OK) {
+        if(ec == CURLE_AGAIN) {
+          continue;
+        }
+        else if(ec) {
           fprintf(stderr, "curl_easy_recv() failed, with code %d (%s)\n",
                   (int)ec, curl_easy_strerror(ec));
           res = ec;