Hans Leidekker : ws2_32: Add some tests for getpeername.
Alexandre Julliard
julliard at winehq.org
Wed Oct 2 15:49:13 CDT 2013
Module: wine
Branch: master
Commit: 9530a06fed7a9c5b0f859101b04b6d82d51328b9
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9530a06fed7a9c5b0f859101b04b6d82d51328b9
Author: Hans Leidekker <hans at codeweavers.com>
Date: Wed Oct 2 16:05:45 2013 +0200
ws2_32: Add some tests for getpeername.
---
dlls/ws2_32/tests/sock.c | 25 ++++++++++++++++++++-----
1 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c
index a4c94312..9fd8b58 100644
--- a/dlls/ws2_32/tests/sock.c
+++ b/dlls/ws2_32/tests/sock.c
@@ -5960,6 +5960,7 @@ static void test_getpeername(void)
{
SOCKET sock;
struct sockaddr_in sa, sa_out;
+ SOCKADDR_STORAGE ss;
int sa_len;
const char buf[] = "hello world";
int ret;
@@ -6018,17 +6019,31 @@ static void test_getpeername(void)
"Expected WSAGetLastError() to return WSAEFAULT, got %d\n", WSAGetLastError());
}
+ ret = getpeername(sock, (struct sockaddr*)&sa_out, NULL);
+ ok(ret == SOCKET_ERROR, "Expected getpeername to return 0, got %d\n", ret);
+ ok(WSAGetLastError() == WSAEFAULT,
+ "Expected WSAGetLastError() to return WSAEFAULT, got %d\n", WSAGetLastError());
+
sa_len = 0;
- ret = getpeername(sock, (struct sockaddr*)&sa_out, &sa_len);
- ok(ret == SOCKET_ERROR, "Expected getpeername to return SOCKET_ERROR, got %d\n", ret);
+ ret = getpeername(sock, NULL, &sa_len);
+ ok(ret == SOCKET_ERROR, "Expected getpeername to return 0, got %d\n", ret);
+ ok(WSAGetLastError() == WSAEFAULT,
+ "Expected WSAGetLastError() to return WSAEFAULT, got %d\n", WSAGetLastError());
+ ok(!sa_len, "got %d\n", sa_len);
+
+ sa_len = 0;
+ ret = getpeername(sock, (struct sockaddr *)&ss, &sa_len);
+ ok(ret == SOCKET_ERROR, "Expected getpeername to return 0, got %d\n", ret);
ok(WSAGetLastError() == WSAEFAULT,
"Expected WSAGetLastError() to return WSAEFAULT, got %d\n", WSAGetLastError());
+ ok(!sa_len, "got %d\n", sa_len);
- sa_len = sizeof(sa_out);
- ret = getpeername(sock, (struct sockaddr*)&sa_out, &sa_len);
+ sa_len = sizeof(ss);
+ ret = getpeername(sock, (struct sockaddr *)&ss, &sa_len);
ok(ret == 0, "Expected getpeername to return 0, got %d\n", ret);
- ok(!memcmp(&sa, &sa_out, sizeof(sa)),
+ ok(!memcmp(&sa, &ss, sizeof(sa)),
"Expected the returned structure to be identical to the connect structure\n");
+ ok(sa_len == sizeof(sa), "got %d\n", sa_len);
closesocket(sock);
}
More information about the wine-cvs
mailing list