Francois Gouget : ws2_32/tests: Fix the GetAcceptExSockaddrs() test.

Alexandre Julliard julliard at winehq.org
Fri Feb 15 11:19:16 CST 2013


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

Author: Francois Gouget <fgouget at codeweavers.com>
Date:   Fri Feb 15 11:34:00 2013 +0100

ws2_32/tests: Fix the GetAcceptExSockaddrs() test.

---

 dlls/ws2_32/tests/sock.c |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c
index ebde182..804c66b 100644
--- a/dlls/ws2_32/tests/sock.c
+++ b/dlls/ws2_32/tests/sock.c
@@ -4771,6 +4771,7 @@ static void test_AcceptEx(void)
     ok(!iret, "getsockopt failed %d\n", WSAGetLastError());
     ok(connect_time == ~0u, "unexpected connect time %u\n", connect_time);
 
+    /* AcceptEx() still won't complete until we send data */
     iret = connect(connector, (struct sockaddr*)&bindAddress, sizeof(bindAddress));
     ok(iret == 0, "connecting to accepting socket failed, error %d\n", WSAGetLastError());
 
@@ -4786,6 +4787,13 @@ static void test_AcceptEx(void)
     iret = getsockname( connector, (struct sockaddr *)&peerAddress, &remoteSize);
     ok( !iret, "getsockname failed.\n");
 
+    /* AcceptEx() could complete any time now */
+    iret = send(connector, buffer, 1, 0);
+    ok(iret == 1, "could not send 1 byte: send %d errno %d\n", iret, WSAGetLastError());
+
+    dwret = WaitForSingleObject(overlapped.hEvent, 1000);
+    ok(dwret == WAIT_OBJECT_0, "Waiting for accept event failed with %d + errno %d\n", dwret, GetLastError());
+
     /* Check if the buffer from AcceptEx is decoded correctly */
     pGetAcceptExSockaddrs(buffer, 2, sizeof(struct sockaddr_in) + 16, sizeof(struct sockaddr_in) + 16,
                           (struct sockaddr **)&readBindAddress, &localSize,
@@ -4805,12 +4813,6 @@ static void test_AcceptEx(void)
             "Remote socket port is different: %d != %d\n",
             readRemoteAddress->sin_port, peerAddress.sin_port);
 
-    iret = send(connector, buffer, 1, 0);
-    ok(iret == 1, "could not send 1 byte: send %d errno %d\n", iret, WSAGetLastError());
-
-    dwret = WaitForSingleObject(overlapped.hEvent, 1000);
-    ok(dwret == WAIT_OBJECT_0, "Waiting for accept event failed with %d + errno %d\n", dwret, GetLastError());
-
     bret = GetOverlappedResult((HANDLE)listener, &overlapped, &bytesReturned, FALSE);
     ok(bret, "GetOverlappedResult failed, error %d\n", GetLastError());
     ok(bytesReturned == 1, "bytesReturned isn't supposed to be %d\n", bytesReturned);




More information about the wine-cvs mailing list