Module: wine Branch: master Commit: 3cf5eb6d967f1454688c1a79d97ab9e283dded34 URL: http://source.winehq.org/git/wine.git/?a=commit;h=3cf5eb6d967f1454688c1a79d9...
Author: Austin English austinenglish@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();