commit 21ce9bfad3b5537cf0da7b4764a03b4a80dfd48f
parent a4320556aa74cab71188150015153bd0cb663616
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date: Sun, 29 Oct 2017 23:36:00 +0300
Make testsuite compatible with W32 again
Diffstat:
18 files changed, 127 insertions(+), 11 deletions(-)
diff --git a/src/testcurl/https/test_empty_response.c b/src/testcurl/https/test_empty_response.c
@@ -172,10 +172,16 @@ testInternalSelectGet ()
{
#ifdef MHD_POSIX_SOCKETS
if (EINTR != errno)
-#endif /* MHD_POSIX_SOCKETS */
abort ();
+#else
+ if (WSAEINVAL != WSAGetLastError() || 0 != rs.fd_count || 0 != ws.fd_count || 0 != es.fd_count)
+ abort ();
+ Sleep (1000);
+#endif
}
}
+ else
+ sleep (1000);
curl_multi_perform (multi, &running);
if (running == 0)
{
diff --git a/src/testcurl/https/test_https_get_select.c b/src/testcurl/https/test_https_get_select.c
@@ -198,10 +198,16 @@ testExternalGet (int flags)
{
#ifdef MHD_POSIX_SOCKETS
if (EINTR != errno)
-#endif /* MHD_POSIX_SOCKETS */
abort ();
+#else
+ if (WSAEINVAL != WSAGetLastError() || 0 != rs.fd_count || 0 != ws.fd_count || 0 != es.fd_count)
+ abort ();
+ Sleep (1000);
+#endif
}
}
+ else
+ sleep (1000);
curl_multi_perform (multi, &running);
if (running == 0)
{
diff --git a/src/testcurl/perf_get.c b/src/testcurl/perf_get.c
@@ -497,8 +497,14 @@ testExternalGet (int port)
tv.tv_usec = 1000;
if (-1 == select (maxposixs + 1, &rs, &ws, &es, &tv))
{
+#ifdef MHD_POSIX_SOCKETS
if (EINTR != errno)
abort ();
+#else
+ if (WSAEINVAL != WSAGetLastError() || 0 != rs.fd_count || 0 != ws.fd_count || 0 != es.fd_count)
+ abort ();
+ Sleep (1000);
+#endif
}
curl_multi_perform (multi, &running);
if (running == 0)
diff --git a/src/testcurl/perf_get_concurrent.c b/src/testcurl/perf_get_concurrent.c
@@ -416,11 +416,19 @@ testExternalGet (int port)
tv.tv_usec = 1000 * (tt % 1000);
if (-1 == select (max + 1, &rs, &ws, &es, &tv))
{
- if (EINTR == errno)
- continue;
- fprintf (stderr,
- "select failed: %s\n",
- strerror (errno));
+#ifdef MHD_POSIX_SOCKETS
+ if (EINTR == errno)
+ continue;
+ fprintf (stderr,
+ "select failed: %s\n",
+ strerror (errno));
+#else
+ if (WSAEINVAL == WSAGetLastError() && 0 == rs.fd_count && 0 == ws.fd_count && 0 == es.fd_count)
+ {
+ Sleep (1000);
+ continue;
+ }
+#endif
ret |= 1024;
break;
}
diff --git a/src/testcurl/test_callback.c b/src/testcurl/test_callback.c
@@ -199,8 +199,14 @@ main(int argc, char **argv)
tv.tv_usec = 1000;
if (-1 == select (maxposixs + 1, &rs, &ws, &es, &tv))
{
- if (EINTR != errno)
- abort ();
+#ifdef MHD_POSIX_SOCKETS
+ if (EINTR != errno)
+ abort ();
+#else
+ if (WSAEINVAL != WSAGetLastError() || 0 != rs.fd_count || 0 != ws.fd_count || 0 != es.fd_count)
+ abort ();
+ Sleep (1000);
+#endif
}
if (NULL != multi)
{
diff --git a/src/testcurl/test_delete.c b/src/testcurl/test_delete.c
@@ -454,8 +454,14 @@ testExternalDelete ()
tv.tv_usec = 1000;
if (-1 == select (maxposixs + 1, &rs, &ws, &es, &tv))
{
- if (EINTR != errno)
- abort ();
+#ifdef MHD_POSIX_SOCKETS
+ if (EINTR != errno)
+ abort ();
+#else
+ if (WSAEINVAL != WSAGetLastError() || 0 != rs.fd_count || 0 != ws.fd_count || 0 != es.fd_count)
+ abort ();
+ Sleep (1000);
+#endif
}
curl_multi_perform (multi, &running);
if (running == 0)
diff --git a/src/testcurl/test_get.c b/src/testcurl/test_get.c
@@ -428,8 +428,14 @@ testExternalGet ()
tv.tv_usec = 1000;
if (-1 == select (maxposixs + 1, &rs, &ws, &es, &tv))
{
+#ifdef MHD_POSIX_SOCKETS
if (EINTR != errno)
abort ();
+#else
+ if (WSAEINVAL != WSAGetLastError() || 0 != rs.fd_count || 0 != ws.fd_count || 0 != es.fd_count)
+ abort ();
+ Sleep (1000);
+#endif
}
curl_multi_perform (multi, &running);
if (running == 0)
diff --git a/src/testcurl/test_get_chunked.c b/src/testcurl/test_get_chunked.c
@@ -450,8 +450,14 @@ testExternalGet ()
tv.tv_usec = 1000;
if (-1 == select (maxposixs + 1, &rs, &ws, &es, &tv))
{
+#ifdef MHD_POSIX_SOCKETS
if (EINTR != errno)
abort ();
+#else
+ if (WSAEINVAL != WSAGetLastError() || 0 != rs.fd_count || 0 != ws.fd_count || 0 != es.fd_count)
+ abort ();
+ Sleep (1000);
+#endif
}
curl_multi_perform (multi, &running);
if (running == 0)
diff --git a/src/testcurl/test_get_sendfile.c b/src/testcurl/test_get_sendfile.c
@@ -433,8 +433,14 @@ testExternalGet ()
tv.tv_usec = 1000;
if (-1 == select (maxposixs + 1, &rs, &ws, &es, &tv))
{
+#ifdef MHD_POSIX_SOCKETS
if (EINTR != errno)
abort ();
+#else
+ if (WSAEINVAL != WSAGetLastError() || 0 != rs.fd_count || 0 != ws.fd_count || 0 != es.fd_count)
+ abort ();
+ Sleep (1000);
+#endif
}
curl_multi_perform (multi, &running);
if (running == 0)
diff --git a/src/testcurl/test_large_put.c b/src/testcurl/test_large_put.c
@@ -540,8 +540,14 @@ testPutExternal (void)
tv.tv_usec = 1000;
if (-1 == select (maxposixs + 1, &rs, &ws, &es, &tv))
{
+#ifdef MHD_POSIX_SOCKETS
if (EINTR != errno)
abort ();
+#else
+ if (WSAEINVAL != WSAGetLastError() || 0 != rs.fd_count || 0 != ws.fd_count || 0 != es.fd_count)
+ abort ();
+ Sleep (1000);
+#endif
}
curl_multi_perform (multi, &running);
if (running == 0)
diff --git a/src/testcurl/test_parse_cookies.c b/src/testcurl/test_parse_cookies.c
@@ -221,8 +221,14 @@ testExternalGet ()
tv.tv_usec = 1000;
if (-1 == select (maxposixs + 1, &rs, &ws, &es, &tv))
{
+#ifdef MHD_POSIX_SOCKETS
if (EINTR != errno)
abort ();
+#else
+ if (WSAEINVAL != WSAGetLastError() || 0 != rs.fd_count || 0 != ws.fd_count || 0 != es.fd_count)
+ abort ();
+ Sleep (1000);
+#endif
}
curl_multi_perform (multi, &running);
if (running == 0)
diff --git a/src/testcurl/test_post.c b/src/testcurl/test_post.c
@@ -495,8 +495,14 @@ testExternalPost ()
tv.tv_usec = 1000;
if (-1 == select (maxposixs + 1, &rs, &ws, &es, &tv))
{
+#ifdef MHD_POSIX_SOCKETS
if (EINTR != errno)
abort ();
+#else
+ if (WSAEINVAL != WSAGetLastError() || 0 != rs.fd_count || 0 != ws.fd_count || 0 != es.fd_count)
+ abort ();
+ Sleep (1000);
+#endif
}
curl_multi_perform (multi, &running);
if (running == 0)
diff --git a/src/testcurl/test_postform.c b/src/testcurl/test_postform.c
@@ -519,8 +519,14 @@ testExternalPost ()
tv.tv_usec = 1000;
if (-1 == select (maxposixs + 1, &rs, &ws, &es, &tv))
{
+#ifdef MHD_POSIX_SOCKETS
if (EINTR != errno)
abort ();
+#else
+ if (WSAEINVAL != WSAGetLastError() || 0 != rs.fd_count || 0 != ws.fd_count || 0 != es.fd_count)
+ abort ();
+ Sleep (1000);
+#endif
}
curl_multi_perform (multi, &running);
if (running == 0)
diff --git a/src/testcurl/test_process_arguments.c b/src/testcurl/test_process_arguments.c
@@ -221,8 +221,14 @@ testExternalGet ()
tv.tv_usec = 1000;
if (-1 == select (maxposixs + 1, &rs, &ws, &es, &tv))
{
+#ifdef MHD_POSIX_SOCKETS
if (EINTR != errno)
abort ();
+#else
+ if (WSAEINVAL != WSAGetLastError() || 0 != rs.fd_count || 0 != ws.fd_count || 0 != es.fd_count)
+ abort ();
+ Sleep (1000);
+#endif
}
curl_multi_perform (multi, &running);
if (running == 0)
diff --git a/src/testcurl/test_process_headers.c b/src/testcurl/test_process_headers.c
@@ -464,8 +464,14 @@ testExternalGet ()
tv.tv_usec = 1000;
if (-1 == select (maxposixs + 1, &rs, &ws, &es, &tv))
{
+#ifdef MHD_POSIX_SOCKETS
if (EINTR != errno)
abort ();
+#else
+ if (WSAEINVAL != WSAGetLastError() || 0 != rs.fd_count || 0 != ws.fd_count || 0 != es.fd_count)
+ abort ();
+ Sleep (1000);
+#endif
}
curl_multi_perform (multi, &running);
if (running == 0)
diff --git a/src/testcurl/test_put.c b/src/testcurl/test_put.c
@@ -465,8 +465,14 @@ curl_easy_setopt (c, CURLOPT_WRITEFUNCTION, ©Buffer);
tv.tv_usec = 1000;
if (-1 == select (maxposixs + 1, &rs, &ws, &es, &tv))
{
+#ifdef MHD_POSIX_SOCKETS
if (EINTR != errno)
abort ();
+#else
+ if (WSAEINVAL != WSAGetLastError() || 0 != rs.fd_count || 0 != ws.fd_count || 0 != es.fd_count)
+ abort ();
+ Sleep (1000);
+#endif
}
curl_multi_perform (multi, &running);
if (running == 0)
diff --git a/src/testcurl/test_put_chunked.c b/src/testcurl/test_put_chunked.c
@@ -459,8 +459,14 @@ testExternalPut ()
tv.tv_usec = 1000;
if (-1 == select (maxposixs + 1, &rs, &ws, &es, &tv))
{
+#ifdef MHD_POSIX_SOCKETS
if (EINTR != errno)
abort ();
+#else
+ if (WSAEINVAL != WSAGetLastError() || 0 != rs.fd_count || 0 != ws.fd_count || 0 != es.fd_count)
+ abort ();
+ Sleep (1000);
+#endif
}
curl_multi_perform (multi, &running);
if (running == 0)
diff --git a/src/testcurl/test_quiesce.c b/src/testcurl/test_quiesce.c
@@ -151,8 +151,14 @@ ServeOneRequest(void *param)
tv.tv_usec = 1000;
if (-1 == MHD_SYS_select_ (max + 1, &rs, &ws, &es, &tv))
{
+#ifdef MHD_POSIX_SOCKETS
if (EINTR != errno)
abort ();
+#else
+ if (WSAEINVAL != WSAGetLastError() || 0 != rs.fd_count || 0 != ws.fd_count || 0 != es.fd_count)
+ abort ();
+ Sleep (1000);
+#endif
}
MHD_run (d);
}
@@ -432,8 +438,14 @@ testExternalGet ()
tv.tv_usec = 1000;
if (-1 == select (maxposixs + 1, &rs, &ws, &es, &tv))
{
+#ifdef MHD_POSIX_SOCKETS
if (EINTR != errno)
abort ();
+#else
+ if (WSAEINVAL != WSAGetLastError() || 0 != rs.fd_count || 0 != ws.fd_count || 0 != es.fd_count)
+ abort ();
+ Sleep (1000);
+#endif
}
curl_multi_perform (multi, &running);
if (0 == running)