Hans Leidekker : winhttp/tests: Use a wait event instead of an unconditional sleep in the server thread.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Jan 5 15:01:27 CST 2015
Module: wine
Branch: master
Commit: 823c037c9f6ac26f2377a3a471776ad0c838e32b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=823c037c9f6ac26f2377a3a471776ad0c838e32b
Author: Hans Leidekker <hans at codeweavers.com>
Date: Mon Jan 5 13:18:15 2015 +0100
winhttp/tests: Use a wait event instead of an unconditional sleep in the server thread.
---
dlls/winhttp/tests/winhttp.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/dlls/winhttp/tests/winhttp.c b/dlls/winhttp/tests/winhttp.c
index 446cba4..2eff8b3 100644
--- a/dlls/winhttp/tests/winhttp.c
+++ b/dlls/winhttp/tests/winhttp.c
@@ -31,6 +31,7 @@
#include "wine/test.h"
+static HANDLE wait_event;
static const WCHAR test_useragent[] =
{'W','i','n','e',' ','R','e','g','r','e','s','s','i','o','n',' ','T','e','s','t',0};
static const WCHAR test_winehq[] = {'t','e','s','t','.','w','i','n','e','h','q','.','o','r','g',0};
@@ -1901,7 +1902,7 @@ static DWORD CALLBACK server_thread(LPVOID param)
if (strstr(buffer, "GET /not_modified"))
{
send(c, notmodified, sizeof notmodified - 1, 0);
- Sleep(6000);
+ WaitForSingleObject(wait_event, 5000);
}
if (strstr(buffer, "GET /quit"))
{
@@ -2249,6 +2250,8 @@ static void test_not_modified(int port)
ret = WinHttpReceiveResponse(request, NULL);
ok(ret, "WinHttpReceiveResponse failed: %u\n", GetLastError());
+ SetEvent(wait_event);
+
size = sizeof(status);
ret = WinHttpQueryHeaders(request, WINHTTP_QUERY_STATUS_CODE|WINHTTP_QUERY_FLAG_NUMBER,
NULL, &status, &size, NULL);
@@ -3272,6 +3275,8 @@ START_TEST (winhttp)
if (ret != WAIT_OBJECT_0)
return;
+ wait_event = CreateEventW(NULL, FALSE, FALSE, NULL);
+
test_connection_info(si.port);
test_basic_request(si.port, NULL, basicW);
test_no_headers(si.port);
@@ -3284,5 +3289,7 @@ START_TEST (winhttp)
/* send the basic request again to shutdown the server thread */
test_basic_request(si.port, NULL, quitW);
+ CloseHandle(wait_event);
+
WaitForSingleObject(thread, 3000);
}
More information about the wine-cvs
mailing list