ws2_32/tests: Test the precedence of parameters while creating a socket in WSASocket().

This commit is contained in:
Bruno Jesus 2013-07-31 18:32:43 -03:00 committed by Alexandre Julliard
parent d7f216818f
commit d5f7f74f78
1 changed files with 14 additions and 0 deletions

View File

@ -1733,7 +1733,21 @@ todo_wine
FROM_PROTOCOL_INFO, &pi[0], 0, 0);
ok(sock != INVALID_SOCKET, "Failed to create socket: %d\n",
WSAGetLastError());
closesocket(sock);
/* find what parameters are used first: plain parameters or protocol info struct */
pi[0].iProtocol = IPPROTO_UDP;
pi[0].iSocketType = SOCK_DGRAM;
pi[0].iAddressFamily = AF_INET;
sock = WSASocketA(AF_INET, SOCK_STREAM, IPPROTO_TCP, &pi[0], 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_STREAM, "Wrong socket type, expected %d received %d\n",
SOCK_STREAM, socktype);
closesocket(sock);
HeapFree(GetProcessHeap(), 0, pi);