ws2_32: Add a test for selecting invalid sockets.

This commit is contained in:
Vincent Povirk 2010-09-12 16:17:09 -05:00 committed by Alexandre Julliard
parent 5fd0bfe364
commit e1705151a9
1 changed files with 26 additions and 0 deletions

View File

@ -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)