Module: wine Branch: master Commit: 823c037c9f6ac26f2377a3a471776ad0c838e32b URL: http://source.winehq.org/git/wine.git/?a=commit;h=823c037c9f6ac26f2377a3a471...
Author: Hans Leidekker hans@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); }