test_setsockopt.cpp
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MPL-2.0 */
2 
3 #include "testutil.hpp"
4 #include "testutil_unity.hpp"
5 
6 #include <string.h>
7 
9 
11 {
12  void *socket = test_context_socket (ZMQ_PUSH);
13 
14  int val = 0;
15  size_t placeholder = sizeof (val);
16 
18  zmq_getsockopt (socket, ZMQ_RCVBUF, &val, &placeholder));
20 
21  val = 16384;
22 
24  zmq_setsockopt (socket, ZMQ_RCVBUF, &val, sizeof (val)));
25  TEST_ASSERT_EQUAL_INT (16384, val);
26 
28  zmq_getsockopt (socket, ZMQ_RCVBUF, &val, &placeholder));
29  TEST_ASSERT_EQUAL_INT (16384, val);
30 
32 }
33 
35 {
36  void *socket = test_context_socket (ZMQ_PUSH);
37 
38  int val = 0;
39  size_t placeholder = sizeof (val);
40 
42  zmq_getsockopt (socket, ZMQ_SNDBUF, &val, &placeholder));
44 
45  val = 16384;
46 
48  zmq_setsockopt (socket, ZMQ_SNDBUF, &val, sizeof (val)));
49  TEST_ASSERT_EQUAL_INT (16384, val);
50 
52  zmq_getsockopt (socket, ZMQ_SNDBUF, &val, &placeholder));
53  TEST_ASSERT_EQUAL_INT (16384, val);
54 
56 }
57 
59 {
60  void *socket = test_context_socket (ZMQ_PUSH);
61 
62  int val = 0;
63  size_t placeholder = sizeof (val);
64 
66  zmq_getsockopt (socket, ZMQ_USE_FD, &val, &placeholder));
68 
69  val = 3;
70 
72  zmq_setsockopt (socket, ZMQ_USE_FD, &val, sizeof (val)));
74 
76  zmq_getsockopt (socket, ZMQ_USE_FD, &val, &placeholder));
78 
80 }
81 
82 #define BOUNDDEVBUFSZ 16
84 {
85  void *socket = test_context_socket (ZMQ_PUSH);
86 
87 #ifdef ZMQ_BINDTODEVICE
88  char devname[BOUNDDEVBUFSZ];
89  size_t buflen = BOUNDDEVBUFSZ;
90 
92  zmq_getsockopt (socket, ZMQ_BINDTODEVICE, devname, &buflen));
93  TEST_ASSERT_EQUAL_INT8 ('\0', devname[0]);
94  TEST_ASSERT_EQUAL_UINT (1, buflen);
95 
96  snprintf (devname, BOUNDDEVBUFSZ * sizeof (char), "testdev");
97  buflen = strlen (devname);
98 
100  zmq_setsockopt (socket, ZMQ_BINDTODEVICE, devname, buflen));
101 
102  buflen = BOUNDDEVBUFSZ;
103  memset (devname, 0, buflen);
104 
106  zmq_getsockopt (socket, ZMQ_BINDTODEVICE, devname, &buflen));
107  TEST_ASSERT_EQUAL_STRING_LEN ("testdev", devname, buflen);
108 #endif
109 
110  test_context_socket_close (socket);
111 }
112 
114 {
115 #ifdef ZMQ_BUILD_DRAFT_API
116 #ifdef ZMQ_HAVE_SO_PRIORITY
117  void *socket = test_context_socket (ZMQ_PUSH);
118 
119  int val = 5;
120  size_t placeholder = sizeof (val);
121 
123  zmq_getsockopt (socket, ZMQ_PRIORITY, &val, &placeholder));
125 
126  val = 3;
127 
129  zmq_setsockopt (socket, ZMQ_PRIORITY, &val, sizeof (val)));
131 
133  zmq_getsockopt (socket, ZMQ_PRIORITY, &val, &placeholder));
135 
136  test_context_socket_close (socket);
137 #else
138  TEST_IGNORE_MESSAGE ("libzmq without ZMQ_PRIORITY support, "
139  "ignoring setsockopt_priority test");
140 #endif
141 #else
142  TEST_IGNORE_MESSAGE ("libzmq without DRAFT support, ignoring "
143  "setsockopt_priority test");
144 #endif
145 }
146 
147 int main ()
148 {
150 
151  UNITY_BEGIN ();
157  return UNITY_END ();
158 }
ZMQ_RCVBUF
#define ZMQ_RCVBUF
Definition: zmq.h:283
TEST_ASSERT_EQUAL_STRING_LEN
#define TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len)
Definition: unity.h:236
UNITY_END
return UNITY_END()
ZMQ_PRIORITY
#define ZMQ_PRIORITY
Definition: zmq_draft.h:44
ZMQ_USE_FD
#define ZMQ_USE_FD
Definition: zmq.h:348
RUN_TEST
#define RUN_TEST(func)
Definition: unity_internals.h:615
TEST_ASSERT_EQUAL_UINT
#define TEST_ASSERT_EQUAL_UINT(expected, actual)
Definition: unity.h:135
BOUNDDEVBUFSZ
#define BOUNDDEVBUFSZ
Definition: test_setsockopt.cpp:82
SETUP_TEARDOWN_TESTCONTEXT
#define SETUP_TEARDOWN_TESTCONTEXT
Definition: testutil_unity.hpp:172
test_setsockopt_tcp_send_buffer
void test_setsockopt_tcp_send_buffer()
Definition: test_setsockopt.cpp:34
test_setsockopt_use_fd
void test_setsockopt_use_fd()
Definition: test_setsockopt.cpp:58
testutil_unity.hpp
snprintf
int snprintf(char *str, size_t size, const char *format,...)
Definition: port.cc:64
zmq_setsockopt
ZMQ_EXPORT int zmq_setsockopt(void *s_, int option_, const void *optval_, size_t optvallen_)
Definition: zmq.cpp:250
ZMQ_PUSH
#define ZMQ_PUSH
Definition: zmq.h:266
testutil.hpp
main
int main()
Definition: test_setsockopt.cpp:147
test_context_socket
void * test_context_socket(int type_)
Definition: testutil_unity.cpp:200
ZMQ_BINDTODEVICE
#define ZMQ_BINDTODEVICE
Definition: zmq.h:351
TEST_ASSERT_EQUAL_INT
#define TEST_ASSERT_EQUAL_INT(expected, actual)
Definition: unity.h:128
test_setsockopt_priority
void test_setsockopt_priority()
Definition: test_setsockopt.cpp:113
TEST_IGNORE_MESSAGE
#define TEST_IGNORE_MESSAGE(message)
Definition: unity.h:103
test_setsockopt_bindtodevice
void test_setsockopt_bindtodevice()
Definition: test_setsockopt.cpp:83
ZMQ_SNDBUF
#define ZMQ_SNDBUF
Definition: zmq.h:282
TEST_ASSERT_EQUAL_INT8
#define TEST_ASSERT_EQUAL_INT8(expected, actual)
Definition: unity.h:129
setup_test_environment
void setup_test_environment(int timeout_seconds_)
Definition: testutil.cpp:201
UNITY_BEGIN
UNITY_BEGIN()
test_setsockopt_tcp_recv_buffer
SETUP_TEARDOWN_TESTCONTEXT void test_setsockopt_tcp_recv_buffer()
Definition: test_setsockopt.cpp:10
val
GLuint GLfloat * val
Definition: glcorearb.h:3604
test_context_socket_close
void * test_context_socket_close(void *socket_)
Definition: testutil_unity.cpp:208
TEST_ASSERT_SUCCESS_ERRNO
#define TEST_ASSERT_SUCCESS_ERRNO(expr)
Definition: proxy_thr.cpp:47
zmq_getsockopt
ZMQ_EXPORT int zmq_getsockopt(void *s_, int option_, void *optval_, size_t *optvallen_)
Definition: zmq.cpp:261


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:59