test_socket_null.cpp
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MPL-2.0 */
2 
3 #include "testutil.hpp"
4 
5 #include <unity.h>
6 
7 void setUp ()
8 {
9 }
10 
11 void tearDown ()
12 {
13 }
14 
15 // tests all socket-related functions with a NULL socket argument
17 {
19  TEST_ASSERT_EQUAL_INT (EFAULT, errno); // TODO use EINVAL instead?
20 }
21 
23 {
24  int rc = zmq_close (NULL);
25  TEST_ASSERT_EQUAL_INT (-1, rc);
26  TEST_ASSERT_EQUAL_INT (ENOTSOCK, errno); // TODO use EINVAL instead?
27 }
28 
30 {
31  int hwm = 100;
32  size_t hwm_size = sizeof hwm;
33  int rc = zmq_setsockopt (NULL, ZMQ_SNDHWM, &hwm, hwm_size);
34  TEST_ASSERT_EQUAL_INT (-1, rc);
35  TEST_ASSERT_EQUAL_INT (ENOTSOCK, errno); // TODO use EINVAL instead?
36 }
37 
39 {
40  int hwm;
41  size_t hwm_size = sizeof hwm;
42  int rc = zmq_getsockopt (NULL, ZMQ_SNDHWM, &hwm, &hwm_size);
43  TEST_ASSERT_EQUAL_INT (-1, rc);
44  TEST_ASSERT_EQUAL_INT (ENOTSOCK, errno); // TODO use EINVAL instead?
45 }
46 
48 {
49  int rc = zmq_socket_monitor (NULL, "inproc://monitor", ZMQ_EVENT_ALL);
50  TEST_ASSERT_EQUAL_INT (-1, rc);
51  TEST_ASSERT_EQUAL_INT (ENOTSOCK, errno); // TODO use EINVAL instead?
52 }
53 
54 #ifdef ZMQ_BUILD_DRAFT_API
55 void test_zmq_join_null_socket ()
56 {
57  int rc = zmq_join (NULL, "group");
58  TEST_ASSERT_EQUAL_INT (-1, rc);
59  TEST_ASSERT_EQUAL_INT (ENOTSOCK, errno); // TODO use EINVAL instead?
60 }
61 
62 void test_zmq_leave_null_socket ()
63 {
64  int rc = zmq_leave (NULL, "group");
65  TEST_ASSERT_EQUAL_INT (-1, rc);
66  TEST_ASSERT_EQUAL_INT (ENOTSOCK, errno); // TODO use EINVAL instead?
67 }
68 #endif
69 
70 
72 {
73  int rc = zmq_bind (NULL, "inproc://socket");
74  TEST_ASSERT_EQUAL_INT (-1, rc);
75  TEST_ASSERT_EQUAL_INT (ENOTSOCK, errno); // TODO use EINVAL instead?
76 }
77 
79 {
80  int rc = zmq_connect (NULL, "inproc://socket");
81  TEST_ASSERT_EQUAL_INT (-1, rc);
82  TEST_ASSERT_EQUAL_INT (ENOTSOCK, errno); // TODO use EINVAL instead?
83 }
84 
86 {
87  int rc = zmq_unbind (NULL, "inproc://socket");
88  TEST_ASSERT_EQUAL_INT (-1, rc);
89  TEST_ASSERT_EQUAL_INT (ENOTSOCK, errno); // TODO use EINVAL instead?
90 }
91 
93 {
94  int rc = zmq_disconnect (NULL, "inproc://socket");
95  TEST_ASSERT_EQUAL_INT (-1, rc);
96  TEST_ASSERT_EQUAL_INT (ENOTSOCK, errno); // TODO use EINVAL instead?
97 }
98 
99 int main (void)
100 {
101  UNITY_BEGIN ();
111 
112 #ifdef ZMQ_BUILD_DRAFT_API
113  RUN_TEST (test_zmq_join_null_socket);
114  RUN_TEST (test_zmq_leave_null_socket);
115 #endif
116 
117  return UNITY_END ();
118 }
test_zmq_bind_null_socket
void test_zmq_bind_null_socket()
Definition: test_socket_null.cpp:71
test_zmq_disconnect_null_socket
void test_zmq_disconnect_null_socket()
Definition: test_socket_null.cpp:92
test_zmq_getsockopt_null_socket
void test_zmq_getsockopt_null_socket()
Definition: test_socket_null.cpp:38
NULL
NULL
Definition: test_security_zap.cpp:405
UNITY_END
return UNITY_END()
zmq_unbind
ZMQ_EXPORT int zmq_unbind(void *s_, const char *addr_)
Definition: zmq.cpp:337
main
int main(void)
Definition: test_socket_null.cpp:99
zmq_socket_monitor
ZMQ_EXPORT int zmq_socket_monitor(void *s_, const char *addr_, int events_)
Definition: zmq.cpp:278
RUN_TEST
#define RUN_TEST(func)
Definition: unity_internals.h:615
tearDown
void tearDown()
Definition: test_socket_null.cpp:11
test_zmq_close_null_socket
void test_zmq_close_null_socket()
Definition: test_socket_null.cpp:22
errno
int errno
test_zmq_unbind_null_socket
void test_zmq_unbind_null_socket()
Definition: test_socket_null.cpp:85
zmq_connect
ZMQ_EXPORT int zmq_connect(void *s_, const char *addr_)
Definition: zmq.cpp:307
zmq_setsockopt
ZMQ_EXPORT int zmq_setsockopt(void *s_, int option_, const void *optval_, size_t optvallen_)
Definition: zmq.cpp:250
test_zmq_socket_null_context
void test_zmq_socket_null_context()
Definition: test_socket_null.cpp:16
zmq_disconnect
ZMQ_EXPORT int zmq_disconnect(void *s_, const char *addr_)
Definition: zmq.cpp:345
test_zmq_connect_null_socket
void test_zmq_connect_null_socket()
Definition: test_socket_null.cpp:78
testutil.hpp
zmq_bind
ZMQ_EXPORT int zmq_bind(void *s_, const char *addr_)
Definition: zmq.cpp:299
zmq_socket
ZMQ_EXPORT void * zmq_socket(void *, int type_)
Definition: zmq.cpp:230
ENOTSOCK
#define ENOTSOCK
Definition: zmq.h:128
zmq_leave
int zmq_leave(void *s_, const char *group_)
Definition: zmq.cpp:291
TEST_ASSERT_EQUAL_INT
#define TEST_ASSERT_EQUAL_INT(expected, actual)
Definition: unity.h:128
zmq_close
ZMQ_EXPORT int zmq_close(void *s_)
Definition: zmq.cpp:241
zmq_join
int zmq_join(void *s_, const char *group_)
Definition: zmq.cpp:283
unity.h
ZMQ_SNDHWM
#define ZMQ_SNDHWM
Definition: zmq.h:293
ZMQ_PAIR
#define ZMQ_PAIR
Definition: zmq.h:258
ZMQ_EVENT_ALL
#define ZMQ_EVENT_ALL
Definition: zmq.h:412
UNITY_BEGIN
UNITY_BEGIN()
setUp
void setUp()
Definition: test_socket_null.cpp:7
EFAULT
#define EFAULT
Definition: errno.hpp:17
test_zmq_socket_monitor_null_socket
void test_zmq_socket_monitor_null_socket()
Definition: test_socket_null.cpp:47
zmq_getsockopt
ZMQ_EXPORT int zmq_getsockopt(void *s_, int option_, void *optval_, size_t *optvallen_)
Definition: zmq.cpp:261
test_zmq_setsockopt_null_socket
void test_zmq_setsockopt_null_socket()
Definition: test_socket_null.cpp:29
TEST_ASSERT_NULL
#define TEST_ASSERT_NULL(pointer)
Definition: unity.h:124


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