summaryrefslogtreecommitdiffstats
path: root/tests/test_echo_tcp_socket_options.c
diff options
context:
space:
mode:
authorJakub Hrozek <jakub.hrozek@gmail.com>2014-07-02 00:01:04 +0200
committerAndreas Schneider <asn@samba.org>2014-07-29 15:03:33 +0200
commitd9bae3a469d4803003711ae282a52d72905068e9 (patch)
treecb0517a500afab2bac27a919cda4b5fce387fde9 /tests/test_echo_tcp_socket_options.c
parent1fcf8726753f38651d009c63d12a179854b506b8 (diff)
downloadsocket_wrapper-d9bae3a469d4803003711ae282a52d72905068e9.tar.gz
socket_wrapper-d9bae3a469d4803003711ae282a52d72905068e9.tar.xz
socket_wrapper-d9bae3a469d4803003711ae282a52d72905068e9.zip
SO_PROTOCOL is platform-dependent
SO_PROTOCOL is not defined on all platforms. In particular, OSX doesn't include it and so far I haven't found any compatible declaration. Signed-off-by: Jakub Hrozek <jakub.hrozek@gmail.com> Reviewed-by: Andreas Schneider <asn@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
Diffstat (limited to 'tests/test_echo_tcp_socket_options.c')
-rw-r--r--tests/test_echo_tcp_socket_options.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/tests/test_echo_tcp_socket_options.c b/tests/test_echo_tcp_socket_options.c
index 023ac72..3da4a95 100644
--- a/tests/test_echo_tcp_socket_options.c
+++ b/tests/test_echo_tcp_socket_options.c
@@ -101,8 +101,10 @@ static void test_sockopt_so(void **state)
#ifdef SO_DOMAIN
int so_domain = -1;
#endif /* SO_DOMAIN */
+#ifdef SO_PROTOCOL
int so_protocol = -1;
int so_type = -1;
+#endif /* SO_PROTOCOL */
int rc;
int s;
@@ -135,6 +137,7 @@ static void test_sockopt_so(void **state)
assert_int_equal(so_len, sizeof(int));
#endif /* SO_DOMAIN */
+#ifdef SO_PROTOCOL
so_len = sizeof(so_protocol);
rc = getsockopt(s,
SOL_SOCKET,
@@ -154,6 +157,7 @@ static void test_sockopt_so(void **state)
assert_return_code(rc, errno);
assert_int_equal(so_type, SOCK_STREAM);
assert_int_equal(so_len, sizeof(int));
+#endif /* SO_PROTOCOL */
close(s);
}
@@ -163,12 +167,14 @@ static void test_sockopt_so6(void **state)
{
struct sockaddr_in6 sin6;
socklen_t slen = sizeof(struct sockaddr_in6);
- socklen_t so_len;
#ifdef SO_DOMAIN
int so_domain = -1;
#endif /* SO_DOMAIN */
+#ifdef SO_PROTOCOL
+ socklen_t so_len;
int so_protocol = -1;
int so_type = -1;
+#endif /* SO_PROTOCOL */
int rc;
int s;
@@ -201,6 +207,7 @@ static void test_sockopt_so6(void **state)
assert_int_equal(so_len, sizeof(int));
#endif /* SO_DOMAIN */
+#ifdef SO_PROTOCOL
so_len = sizeof(so_protocol);
rc = getsockopt(s,
SOL_SOCKET,
@@ -220,6 +227,7 @@ static void test_sockopt_so6(void **state)
assert_return_code(rc, errno);
assert_int_equal(so_type, SOCK_STREAM);
assert_int_equal(so_len, sizeof(int));
+#endif /* SO_PROTOCOL */
close(s);
}