Austin English : ws2_32/tests: Add initial tests for WSAStartup.
Module: wine Branch: master Commit: 3cf5eb6d967f1454688c1a79d97ab9e283dded34 URL: http://source.winehq.org/git/wine.git/?a=commit;h=3cf5eb6d967f1454688c1a79d9... Author: Austin English <austinenglish(a)gmail.com> Date: Sun May 3 19:38:43 2009 -0500 ws2_32/tests: Add initial tests for WSAStartup. --- dlls/ws2_32/tests/sock.c | 37 +++++++++++++++++++++++++++++++++++++ 1 files changed, 37 insertions(+), 0 deletions(-) diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c index 54ffee7..c90f391 100644 --- a/dlls/ws2_32/tests/sock.c +++ b/dlls/ws2_32/tests/sock.c @@ -836,6 +836,37 @@ out: client_stop (); } +/* Tests for WSAStartup */ + +/* This should fail. WSAStartup should be called before any network function is used. */ +static void test_WithoutWSAStartup(void) +{ + LPVOID ptr; + + WSASetLastError(0xdeadbeef); + ptr = gethostbyname("localhost"); + + todo_wine ok(ptr == NULL, "gethostbyname() succeeded unexpectedly: %d\n", WSAGetLastError()); + todo_wine ok(WSAGetLastError() == WSANOTINITIALISED, "gethostbyname() failed with unexpected error: %d\n", + WSAGetLastError()); +} + +static void test_WithWSAStartup(void) +{ + WSADATA data; + WORD version = MAKEWORD( 2, 2 ); + INT res; + LPVOID ptr; + + res = WSAStartup( version, &data ); + ok(res == 0, "WSAStartup() failed unexpectedly: %d\n", res); + + ptr = gethostbyname("localhost"); + ok(ptr != NULL, "gethostbyname() failed unexpectedly: %d\n", WSAGetLastError()); + + WSACleanup(); +} + /**************** Main program utility functions ***************/ static void Init (void) @@ -2513,6 +2544,12 @@ static void test_GetAddrInfoW(void) START_TEST( sock ) { int i; + +/* Leave these tests at the beginning. They depend on WSAStartup not having been + * called, which is done by Init() below. */ + test_WithoutWSAStartup(); + test_WithWSAStartup(); + Init(); test_set_getsockopt();
participants (1)
-
Alexandre Julliard