Module: wine Branch: master Commit: 5b1992b46655fcea46d64f17f3e4c58384718eb4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=5b1992b46655fcea46d64f17f3...
Author: Mike Kaplinskiy mike.kaplinskiy@gmail.com Date: Sat Aug 8 16:41:32 2009 -0400
ws2_32/tests: Fix the last failures on NT4/2000.
---
dlls/ws2_32/tests/sock.c | 14 +++++++++++--- 1 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c index 6cbea0e..d372d4a 100644 --- a/dlls/ws2_32/tests/sock.c +++ b/dlls/ws2_32/tests/sock.c @@ -2990,10 +2990,18 @@ static void test_AcceptEx(void) acceptor = INVALID_SOCKET;
dwret = WaitForSingleObject(overlapped.hEvent, 1000); - ok(dwret == WAIT_OBJECT_0, "Waiting for accept event failed with %d + errno %d\n", dwret, GetLastError()); + ok(dwret == WAIT_OBJECT_0 || broken(dwret == WAIT_TIMEOUT) /* NT4/2000 */, + "Waiting for accept event failed with %d + errno %d\n", dwret, GetLastError());
- bret = GetOverlappedResult((HANDLE)listener, &overlapped, &bytesReturned, FALSE); - ok(!bret && GetLastError() == ERROR_OPERATION_ABORTED, "GetOverlappedResult failed, error %d\n", GetLastError()); + if (dwret != WAIT_TIMEOUT) { + bret = GetOverlappedResult((HANDLE)listener, &overlapped, &bytesReturned, FALSE); + ok(!bret && GetLastError() == ERROR_OPERATION_ABORTED, "GetOverlappedResult failed, error %d\n", GetLastError()); + } + else { + bret = CancelIo((HANDLE) listener); + ok(bret, "Failed to cancel failed test. Bailing...\n"); + if (!bret) return; + }
acceptor = socket(AF_INET, SOCK_STREAM, 0); if (acceptor == INVALID_SOCKET) {