Commit e1705151 authored by Vincent Povirk's avatar Vincent Povirk Committed by Alexandre Julliard

ws2_32: Add a test for selecting invalid sockets.

parent 5fd0bfe3
...@@ -1939,6 +1939,32 @@ static void test_select(void) ...@@ -1939,6 +1939,32 @@ static void test_select(void)
broken(thread_params.ReadKilled == 0), /*Win98*/ broken(thread_params.ReadKilled == 0), /*Win98*/
"closesocket did not wakeup select\n"); "closesocket did not wakeup select\n");
/* Test selecting invalid handles */
FD_ZERO(&readfds);
FD_ZERO(&writefds);
FD_ZERO(&exceptfds);
FD_SET(INVALID_SOCKET, &readfds);
SetLastError(0);
ret = select(maxfd+1, &readfds, &writefds, &exceptfds, &select_timeout);
todo_wine ok ( (ret == SOCKET_ERROR), "expected SOCKET_ERROR, got %i\n", ret);
ok ( GetLastError() == WSAENOTSOCK, "expected WSAENOTSOCK, got %i\n", ret);
ok ( !FD_ISSET(fdRead, &readfds), "FD should not be set\n");
FD_ZERO(&readfds);
FD_SET(INVALID_SOCKET, &writefds);
SetLastError(0);
ret = select(maxfd+1, &readfds, &writefds, &exceptfds, &select_timeout);
todo_wine ok ( (ret == SOCKET_ERROR), "expected SOCKET_ERROR, got %i\n", ret);
ok ( GetLastError() == WSAENOTSOCK, "expected WSAENOTSOCK, got %i\n", ret);
ok ( !FD_ISSET(fdRead, &writefds), "FD should not be set\n");
FD_ZERO(&writefds);
FD_SET(INVALID_SOCKET, &exceptfds);
SetLastError(0);
ret = select(maxfd+1, &readfds, &writefds, &exceptfds, &select_timeout);
todo_wine ok ( (ret == SOCKET_ERROR), "expected SOCKET_ERROR, got %i\n", ret);
ok ( GetLastError() == WSAENOTSOCK, "expected WSAENOTSOCK, got %i\n", ret);
ok ( !FD_ISSET(fdRead, &exceptfds), "FD should not be set\n");
} }
static DWORD WINAPI AcceptKillThread(select_thread_params *par) static DWORD WINAPI AcceptKillThread(select_thread_params *par)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment