Commit ab22aeb8 authored by Simon Giesecke's avatar Simon Giesecke

Problem: test_setsockopt not yet using unity

Solution: migrate to unity
parent 30b9e5a1
...@@ -668,7 +668,8 @@ tests_test_sockopt_hwm_LDADD = src/libzmq.la ${UNITY_LIBS} ...@@ -668,7 +668,8 @@ tests_test_sockopt_hwm_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_sockopt_hwm_CPPFLAGS = ${UNITY_CPPFLAGS} tests_test_sockopt_hwm_CPPFLAGS = ${UNITY_CPPFLAGS}
tests_test_setsockopt_SOURCES = tests/test_setsockopt.cpp tests_test_setsockopt_SOURCES = tests/test_setsockopt.cpp
tests_test_setsockopt_LDADD = src/libzmq.la tests_test_setsockopt_LDADD = src/libzmq.la ${UNITY_LIBS}
tests_test_setsockopt_CPPFLAGS = ${UNITY_CPPFLAGS}
tests_test_heartbeats_SOURCES = tests/test_heartbeats.cpp tests_test_heartbeats_SOURCES = tests/test_heartbeats.cpp
tests_test_heartbeats_LDADD = src/libzmq.la ${UNITY_LIBS} tests_test_heartbeats_LDADD = src/libzmq.la ${UNITY_LIBS}
......
...@@ -28,126 +28,129 @@ ...@@ -28,126 +28,129 @@
*/ */
#include "testutil.hpp" #include "testutil.hpp"
#include "testutil_unity.hpp"
void test_setsockopt_tcp_recv_buffer (void) void setUp ()
{ {
int rc; setup_test_context ();
void *ctx = zmq_ctx_new (); }
void *socket = zmq_socket (ctx, ZMQ_PUSH);
void tearDown ()
{
teardown_test_context ();
}
void test_setsockopt_tcp_recv_buffer ()
{
void *socket = test_context_socket (ZMQ_PUSH);
int val = 0; int val = 0;
size_t placeholder = sizeof (val); size_t placeholder = sizeof (val);
rc = zmq_getsockopt (socket, ZMQ_RCVBUF, &val, &placeholder); TEST_ASSERT_SUCCESS_ERRNO (
assert (rc == 0); zmq_getsockopt (socket, ZMQ_RCVBUF, &val, &placeholder));
assert (val == -1); TEST_ASSERT_EQUAL_INT (-1, val);
val = 16384; val = 16384;
rc = zmq_setsockopt (socket, ZMQ_RCVBUF, &val, sizeof (val)); TEST_ASSERT_SUCCESS_ERRNO (
assert (rc == 0); zmq_setsockopt (socket, ZMQ_RCVBUF, &val, sizeof (val)));
assert (val == 16384); TEST_ASSERT_EQUAL_INT (16384, val);
rc = zmq_getsockopt (socket, ZMQ_RCVBUF, &val, &placeholder); TEST_ASSERT_SUCCESS_ERRNO (
assert (rc == 0); zmq_getsockopt (socket, ZMQ_RCVBUF, &val, &placeholder));
assert (val == 16384); TEST_ASSERT_EQUAL_INT (16384, val);
zmq_close (socket); test_context_socket_close (socket);
zmq_ctx_term (ctx);
} }
void test_setsockopt_tcp_send_buffer (void) void test_setsockopt_tcp_send_buffer ()
{ {
int rc; void *socket = test_context_socket (ZMQ_PUSH);
void *ctx = zmq_ctx_new ();
void *socket = zmq_socket (ctx, ZMQ_PUSH);
int val = 0; int val = 0;
size_t placeholder = sizeof (val); size_t placeholder = sizeof (val);
rc = zmq_getsockopt (socket, ZMQ_SNDBUF, &val, &placeholder); TEST_ASSERT_SUCCESS_ERRNO (
assert (rc == 0); zmq_getsockopt (socket, ZMQ_SNDBUF, &val, &placeholder));
assert (val == -1); TEST_ASSERT_EQUAL_INT (-1, val);
val = 16384; val = 16384;
rc = zmq_setsockopt (socket, ZMQ_SNDBUF, &val, sizeof (val)); TEST_ASSERT_SUCCESS_ERRNO (
assert (rc == 0); zmq_setsockopt (socket, ZMQ_SNDBUF, &val, sizeof (val)));
assert (val == 16384); TEST_ASSERT_EQUAL_INT (16384, val);
rc = zmq_getsockopt (socket, ZMQ_SNDBUF, &val, &placeholder); TEST_ASSERT_SUCCESS_ERRNO (
assert (rc == 0); zmq_getsockopt (socket, ZMQ_SNDBUF, &val, &placeholder));
assert (val == 16384); TEST_ASSERT_EQUAL_INT (16384, val);
zmq_close (socket); test_context_socket_close (socket);
zmq_ctx_term (ctx);
} }
void test_setsockopt_use_fd () void test_setsockopt_use_fd ()
{ {
int rc; void *socket = test_context_socket (ZMQ_PUSH);
void *ctx = zmq_ctx_new ();
void *socket = zmq_socket (ctx, ZMQ_PUSH);
int val = 0; int val = 0;
size_t placeholder = sizeof (val); size_t placeholder = sizeof (val);
rc = zmq_getsockopt (socket, ZMQ_USE_FD, &val, &placeholder); TEST_ASSERT_SUCCESS_ERRNO (
assert (rc == 0); zmq_getsockopt (socket, ZMQ_USE_FD, &val, &placeholder));
assert (val == -1); TEST_ASSERT_EQUAL_INT (-1, val);
val = 3; val = 3;
rc = zmq_setsockopt (socket, ZMQ_USE_FD, &val, sizeof (val)); TEST_ASSERT_SUCCESS_ERRNO (
assert (rc == 0); zmq_setsockopt (socket, ZMQ_USE_FD, &val, sizeof (val)));
assert (val == 3); TEST_ASSERT_EQUAL_INT (3, val);
rc = zmq_getsockopt (socket, ZMQ_USE_FD, &val, &placeholder); TEST_ASSERT_SUCCESS_ERRNO (
assert (rc == 0); zmq_getsockopt (socket, ZMQ_USE_FD, &val, &placeholder));
assert (val == 3); TEST_ASSERT_EQUAL_INT (3, val);
zmq_close (socket); test_context_socket_close (socket);
zmq_ctx_term (ctx);
} }
#define BOUNDDEVBUFSZ 16 #define BOUNDDEVBUFSZ 16
void test_setsockopt_bindtodevice () void test_setsockopt_bindtodevice ()
{ {
void *ctx = zmq_ctx_new (); void *socket = test_context_socket (ZMQ_PUSH);
void *socket = zmq_socket (ctx, ZMQ_PUSH);
#ifdef ZMQ_BINDTODEVICE #ifdef ZMQ_BINDTODEVICE
int rc;
char devname[BOUNDDEVBUFSZ]; char devname[BOUNDDEVBUFSZ];
size_t buflen = BOUNDDEVBUFSZ; size_t buflen = BOUNDDEVBUFSZ;
rc = zmq_getsockopt (socket, ZMQ_BINDTODEVICE, devname, &buflen); TEST_ASSERT_SUCCESS_ERRNO (
assert (rc == 0); zmq_getsockopt (socket, ZMQ_BINDTODEVICE, devname, &buflen));
assert (devname[0] == '\0'); TEST_ASSERT_EQUAL_INT8 ('\0', devname[0]);
assert (buflen == 1); TEST_ASSERT_EQUAL_UINT (1, buflen);
sprintf (devname, "testdev"); sprintf (devname, "testdev");
buflen = strlen (devname); buflen = strlen (devname);
rc = zmq_setsockopt (socket, ZMQ_BINDTODEVICE, devname, buflen); TEST_ASSERT_SUCCESS_ERRNO (
assert (rc == 0); zmq_setsockopt (socket, ZMQ_BINDTODEVICE, devname, buflen));
buflen = BOUNDDEVBUFSZ; buflen = BOUNDDEVBUFSZ;
memset (devname, 0, buflen); memset (devname, 0, buflen);
rc = zmq_getsockopt (socket, ZMQ_BINDTODEVICE, devname, &buflen); TEST_ASSERT_SUCCESS_ERRNO (
assert (rc == 0); zmq_getsockopt (socket, ZMQ_BINDTODEVICE, devname, &buflen));
assert (!strncmp ("testdev", devname, buflen)); TEST_ASSERT_EQUAL_STRING_LEN ("testdev", devname, buflen);
#endif #endif
zmq_close (socket); test_context_socket_close (socket);
zmq_ctx_term (ctx);
} }
int main (void) int main ()
{ {
test_setsockopt_tcp_recv_buffer (); setup_test_environment ();
test_setsockopt_tcp_send_buffer ();
test_setsockopt_use_fd (); UNITY_BEGIN ();
test_setsockopt_bindtodevice (); RUN_TEST (test_setsockopt_tcp_recv_buffer);
RUN_TEST (test_setsockopt_tcp_send_buffer);
RUN_TEST (test_setsockopt_use_fd);
RUN_TEST (test_setsockopt_bindtodevice);
return UNITY_END ();
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment