Signed-off-by: Francois Gouget fgouget@codeweavers.com --- dlls/ws2_32/tests/sock.c | 46 +++++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 20 deletions(-)
diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c index 2d69a05aec5..8711b65fcea 100644 --- a/dlls/ws2_32/tests/sock.c +++ b/dlls/ws2_32/tests/sock.c @@ -2551,29 +2551,35 @@ static void test_WSASocket(void) SOCK_RAW, socktype); closesocket(sock);
- todo_wine { sock = WSASocketA(0, 0, IPPROTO_RAW, NULL, 0, 0); - ok(sock != INVALID_SOCKET, "Failed to create socket: %d\n", - WSAGetLastError()); - size = sizeof(socktype); - socktype = 0xdead; - err = getsockopt(sock, SOL_SOCKET, SO_TYPE, (char *) &socktype, &size); - ok(!err, "getsockopt failed with %d\n", WSAGetLastError()); - ok(socktype == SOCK_RAW, "Wrong socket type, expected %d received %d\n", - SOCK_RAW, socktype); - closesocket(sock); + if (sock != INVALID_SOCKET) + { + todo_wine { + size = sizeof(socktype); + socktype = 0xdead; + err = getsockopt(sock, SOL_SOCKET, SO_TYPE, (char *) &socktype, &size); + ok(!err, "getsockopt failed with %d\n", WSAGetLastError()); + ok(socktype == SOCK_RAW, "Wrong socket type, expected %d received %d\n", + SOCK_RAW, socktype); + closesocket(sock); + } + + sock = WSASocketA(AF_INET, SOCK_RAW, IPPROTO_TCP, NULL, 0, 0); + ok(sock != INVALID_SOCKET, "Failed to create socket: %d\n", + WSAGetLastError()); + size = sizeof(socktype); + socktype = 0xdead; + err = getsockopt(sock, SOL_SOCKET, SO_TYPE, (char *) &socktype, &size); + ok(!err, "getsockopt failed with %d\n", WSAGetLastError()); + ok(socktype == SOCK_RAW, "Wrong socket type, expected %d received %d\n", + SOCK_RAW, socktype); + closesocket(sock); } + else if (WSAGetLastError() == WSAEACCES) + skip("SOCK_RAW is not available\n"); + else + ok(0, "Failed to create socket: %d\n", WSAGetLastError());
- sock = WSASocketA(AF_INET, SOCK_RAW, IPPROTO_TCP, NULL, 0, 0); - ok(sock != INVALID_SOCKET, "Failed to create socket: %d\n", - WSAGetLastError()); - size = sizeof(socktype); - socktype = 0xdead; - err = getsockopt(sock, SOL_SOCKET, SO_TYPE, (char *) &socktype, &size); - ok(!err, "getsockopt failed with %d\n", WSAGetLastError()); - ok(socktype == SOCK_RAW, "Wrong socket type, expected %d received %d\n", - SOCK_RAW, socktype); - closesocket(sock); }
/* IPX socket tests */