Jacek Caban : wininet/tests: Introduce open_socket_request helper.

Alexandre Julliard julliard at winehq.org
Wed May 31 16:20:18 CDT 2017


Module: wine
Branch: master
Commit: 71ae1923d97bc6ae08664fc1d845077d4e5d543b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=71ae1923d97bc6ae08664fc1d845077d4e5d543b

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed May 31 16:04:38 2017 +0200

wininet/tests: Introduce open_socket_request helper.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wininet/tests/http.c | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/dlls/wininet/tests/http.c b/dlls/wininet/tests/http.c
index 8d6a041..249658a 100644
--- a/dlls/wininet/tests/http.c
+++ b/dlls/wininet/tests/http.c
@@ -109,7 +109,7 @@ static int expect[MAX_INTERNET_STATUS], optional[MAX_INTERNET_STATUS],
     wine_allow[MAX_INTERNET_STATUS], notified[MAX_INTERNET_STATUS];
 static const char *status_string[MAX_INTERNET_STATUS];
 
-static HANDLE complete_event, conn_close_event, conn_wait_event, server_req_rec_event;
+static HANDLE complete_event, conn_close_event, conn_wait_event, server_req_rec_event, request_sent_event;
 static DWORD req_error;
 static BOOL is_ie7plus = TRUE;
 
@@ -201,6 +201,7 @@ static void init_events(void)
     conn_close_event = CreateEventW(NULL, FALSE, FALSE, NULL);
     conn_wait_event = CreateEventW(NULL, FALSE, FALSE, NULL);
     server_req_rec_event = CreateEventW(NULL, FALSE, FALSE, NULL);
+    request_sent_event = CreateEventW(NULL, FALSE, FALSE, NULL);
 }
 
 static void free_events(void)
@@ -209,6 +210,7 @@ static void free_events(void)
     CloseHandle(conn_close_event);
     CloseHandle(conn_wait_event);
     CloseHandle(server_req_rec_event);
+    CloseHandle(request_sent_event);
 }
 
 static void reset_events(void)
@@ -217,6 +219,7 @@ static void reset_events(void)
     ResetEvent(conn_close_event);
     ResetEvent(conn_wait_event);
     ResetEvent(server_req_rec_event);
+    ResetEvent(request_sent_event);
 }
 
 #define test_status_code(a,b) _test_status_code(__LINE__,a,b, FALSE)
@@ -4573,12 +4576,16 @@ static void WINAPI readex_callback(HINTERNET handle, DWORD_PTR context, DWORD st
             callback(handle, context, status, info, info_size);
         received_response_size = *(DWORD*)info;
         break;
+    case INTERNET_STATUS_REQUEST_SENT:
+        callback(handle, context, status, info, info_size);
+        SetEvent(request_sent_event);
+        break;
     default:
         callback(handle, context, status, info, info_size);
     }
 }
 
-static void open_read_test_request(int port, test_request_t *req, const char *response)
+static void open_socket_request(int port, test_request_t *req)
 {
     BOOL ret;
 
@@ -4613,12 +4620,22 @@ static void open_read_test_request(int port, test_request_t *req, const char *re
     ok(GetLastError() == ERROR_IO_PENDING, "expected ERROR_IO_PENDING, got %u\n", GetLastError());
 
     WaitForSingleObject(server_req_rec_event, INFINITE);
+    WaitForSingleObject(request_sent_event, INFINITE);
 
     CLEAR_NOTIFIED(INTERNET_STATUS_COOKIE_SENT);
     CLEAR_NOTIFIED(INTERNET_STATUS_DETECTING_PROXY);
     CHECK_NOTIFIED(INTERNET_STATUS_CONNECTING_TO_SERVER);
     CHECK_NOTIFIED(INTERNET_STATUS_CONNECTED_TO_SERVER);
     CHECK_NOTIFIED(INTERNET_STATUS_SENDING_REQUEST);
+    CHECK_NOTIFIED(INTERNET_STATUS_REQUEST_SENT);
+}
+
+static void open_read_test_request(int port, test_request_t *req, const char *response)
+{
+    if(!skip_receive_notification_tests)
+        SET_EXPECT(INTERNET_STATUS_RECEIVING_RESPONSE);
+
+    open_socket_request(port, req);
 
     if(!skip_receive_notification_tests) {
         SET_EXPECT(INTERNET_STATUS_RESPONSE_RECEIVED);
@@ -4635,7 +4652,6 @@ static void open_read_test_request(int port, test_request_t *req, const char *re
         todo_wine
         ok(received_response_size == strlen(response), "received_response_size = %u\n", received_response_size);
     }
-    CHECK_NOTIFIED(INTERNET_STATUS_REQUEST_SENT);
     CHECK_NOTIFIED(INTERNET_STATUS_REQUEST_COMPLETE);
     ok(req_error == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", req_error);
 }




More information about the wine-cvs mailing list