mirror of
https://github.com/zeromq/libzmq.git
synced 2024-12-12 10:33:52 +01:00
Problem: there is no test for setsockopt ZMQ_TCP_SEND/RECV_BUFFER
Solution: add test case
This commit is contained in:
parent
f80faeca29
commit
5ba328d7f3
1
.gitignore
vendored
1
.gitignore
vendored
@ -114,6 +114,7 @@ test_server_drop_more
|
||||
test_thread_safe
|
||||
test_thread_safe_polling
|
||||
test_getsockopt_memset
|
||||
test_setsockopt
|
||||
test_stream_exceeds_buffer
|
||||
test_poller
|
||||
tests/test*.log
|
||||
|
@ -351,6 +351,7 @@ test_apps = \
|
||||
tests/test_proxy_single_socket \
|
||||
tests/test_proxy_terminate \
|
||||
tests/test_getsockopt_memset \
|
||||
tests/test_setsockopt \
|
||||
tests/test_many_sockets \
|
||||
tests/test_ipc_wildcard \
|
||||
tests/test_diffserv \
|
||||
@ -566,6 +567,9 @@ tests_test_thread_safe_LDADD = src/libzmq.la
|
||||
tests_test_socketopt_hwm_SOURCES = tests/test_sockopt_hwm.cpp
|
||||
tests_test_socketopt_hwm_LDADD = src/libzmq.la
|
||||
|
||||
tests_test_setsockopt_SOURCES = tests/test_setsockopt.cpp
|
||||
tests_test_setsockopt_LDADD = src/libzmq.la
|
||||
|
||||
tests_test_heartbeats_SOURCES = tests/test_heartbeats.cpp
|
||||
tests_test_heartbeats_LDADD = src/libzmq.la
|
||||
|
||||
|
@ -50,6 +50,7 @@ set(tests
|
||||
test_pub_invert_matching
|
||||
test_thread_safe
|
||||
test_client_server
|
||||
test_setsockopt
|
||||
test_sockopt_hwm
|
||||
test_heartbeats
|
||||
test_poller
|
||||
|
78
tests/test_setsockopt.cpp
Normal file
78
tests/test_setsockopt.cpp
Normal file
@ -0,0 +1,78 @@
|
||||
#include "testutil.hpp"
|
||||
|
||||
void test_setsockopt_tcp_recv_buffer()
|
||||
{
|
||||
int rc;
|
||||
void *ctx = zmq_ctx_new();
|
||||
void *socket = zmq_socket(ctx, ZMQ_PUSH);
|
||||
|
||||
int val = 0;
|
||||
size_t placeholder = sizeof(val);
|
||||
|
||||
rc = zmq_getsockopt(socket, ZMQ_TCP_RECV_BUFFER, &val, &placeholder);
|
||||
assert(rc == 0);
|
||||
assert(val == 8192);
|
||||
|
||||
rc = zmq_setsockopt(socket, ZMQ_TCP_RECV_BUFFER, &val, sizeof(val));
|
||||
assert(rc == 0);
|
||||
assert(val == 8192);
|
||||
|
||||
rc = zmq_getsockopt(socket, ZMQ_TCP_RECV_BUFFER, &val, &placeholder);
|
||||
assert(rc == 0);
|
||||
assert(val == 8192);
|
||||
|
||||
val = 16384;
|
||||
|
||||
rc = zmq_setsockopt(socket, ZMQ_TCP_RECV_BUFFER, &val, sizeof(val));
|
||||
assert(rc == 0);
|
||||
assert(val == 16384);
|
||||
|
||||
rc = zmq_getsockopt(socket, ZMQ_TCP_RECV_BUFFER, &val, &placeholder);
|
||||
assert(rc == 0);
|
||||
assert(val == 16384);
|
||||
|
||||
zmq_close(socket);
|
||||
zmq_ctx_term(ctx);
|
||||
}
|
||||
|
||||
void test_setsockopt_tcp_send_buffer()
|
||||
{
|
||||
int rc;
|
||||
void *ctx = zmq_ctx_new();
|
||||
void *socket = zmq_socket(ctx, ZMQ_PUSH);
|
||||
|
||||
int val = 0;
|
||||
size_t placeholder = sizeof(val);
|
||||
|
||||
rc = zmq_getsockopt(socket, ZMQ_TCP_SEND_BUFFER, &val, &placeholder);
|
||||
assert(rc == 0);
|
||||
assert(val == 8192);
|
||||
|
||||
rc = zmq_setsockopt(socket, ZMQ_TCP_SEND_BUFFER, &val, sizeof(val));
|
||||
assert(rc == 0);
|
||||
assert(val == 8192);
|
||||
|
||||
rc = zmq_getsockopt(socket, ZMQ_TCP_SEND_BUFFER, &val, &placeholder);
|
||||
assert(rc == 0);
|
||||
assert(val == 8192);
|
||||
|
||||
val = 16384;
|
||||
|
||||
rc = zmq_setsockopt(socket, ZMQ_TCP_SEND_BUFFER, &val, sizeof(val));
|
||||
assert(rc == 0);
|
||||
assert(val == 16384);
|
||||
|
||||
rc = zmq_getsockopt(socket, ZMQ_TCP_SEND_BUFFER, &val, &placeholder);
|
||||
assert(rc == 0);
|
||||
assert(val == 16384);
|
||||
|
||||
zmq_close(socket);
|
||||
zmq_ctx_term(ctx);
|
||||
}
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
test_setsockopt_tcp_recv_buffer();
|
||||
test_setsockopt_tcp_send_buffer();
|
||||
}
|
Loading…
Reference in New Issue
Block a user