Austin English : ws2_32/tests: Add initial tests for WSAStartup.
Alexandre Julliard
julliard at winehq.org
Mon May 4 09:06:38 CDT 2009
Module: wine
Branch: master
Commit: 3cf5eb6d967f1454688c1a79d97ab9e283dded34
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3cf5eb6d967f1454688c1a79d97ab9e283dded34
Author: Austin English <austinenglish at 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();
More information about the wine-cvs
mailing list