test_client_server.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 
7 
8 void create_inproc_client_server_pair (void **server_, void **client_)
9 {
10  *server_ = test_context_socket (ZMQ_SERVER);
11  *client_ = test_context_socket (ZMQ_CLIENT);
12 
14  zmq_bind (*server_, "inproc://test-client-server"));
16  zmq_connect (*client_, "inproc://test-client-server"));
17 }
18 
19 void send_sndmore_expect_failure (void *socket_)
20 {
21  int rc = zmq_send (socket_, "X", 1, ZMQ_SNDMORE);
22  TEST_ASSERT_EQUAL_INT (-1, rc);
24 }
25 
27 {
28  void *server, *client;
30 
32 
35 }
36 
38 {
39  void *server, *client;
41 
43 
46 }
47 
49 {
50  void *server, *client;
52 
54 
55  uint32_t routing_id;
56  {
57  zmq_msg_t msg;
59 
60  int rc = TEST_ASSERT_SUCCESS_ERRNO (zmq_msg_recv (&msg, server, 0));
61  TEST_ASSERT_EQUAL_INT (1, rc);
62 
63  routing_id = zmq_msg_routing_id (&msg);
64  TEST_ASSERT_NOT_EQUAL (0, routing_id);
65 
67  }
68 
69  {
70  zmq_msg_t msg;
72 
73  char *data = static_cast<char *> (zmq_msg_data (&msg));
74  data[0] = 2;
75 
77 
78  int rc = zmq_msg_send (&msg, server, 0);
79  TEST_ASSERT_EQUAL_INT (1, rc);
80  }
81 
82  {
83  zmq_msg_t msg;
85 
86  int rc = zmq_msg_recv (&msg, client, 0);
87  TEST_ASSERT_EQUAL_INT (1, rc);
88 
89  routing_id = zmq_msg_routing_id (&msg);
90  TEST_ASSERT_EQUAL_UINT32 (0, routing_id);
91 
93  }
94 
97 }
98 
99 int main (void)
100 {
102 
103  UNITY_BEGIN ();
107  return UNITY_END ();
108 }
ZMQ_SERVER
#define ZMQ_SERVER
Definition: zmq_draft.h:14
main
int main(void)
Definition: test_client_server.cpp:99
UNITY_END
return UNITY_END()
EINVAL
#define EINVAL
Definition: errno.hpp:25
send_sndmore_expect_failure
void send_sndmore_expect_failure(void *socket_)
Definition: test_client_server.cpp:19
zmq_msg_send
ZMQ_EXPORT int zmq_msg_send(zmq_msg_t *msg_, void *s_, int flags_)
Definition: zmq.cpp:609
ZMQ_CLIENT
#define ZMQ_CLIENT
Definition: zmq_draft.h:15
RUN_TEST
#define RUN_TEST(func)
Definition: unity_internals.h:615
SETUP_TEARDOWN_TESTCONTEXT
#define SETUP_TEARDOWN_TESTCONTEXT
Definition: testutil_unity.hpp:172
errno
int errno
client
void client(int num)
Definition: test_multithread.cpp:134
zmq_msg_data
ZMQ_EXPORT void * zmq_msg_data(zmq_msg_t *msg_)
Definition: zmq.cpp:642
zmq_connect
ZMQ_EXPORT int zmq_connect(void *s_, const char *addr_)
Definition: zmq.cpp:307
TEST_ASSERT_NOT_EQUAL
#define TEST_ASSERT_NOT_EQUAL(expected, actual)
Definition: unity.h:134
testutil_unity.hpp
testutil.hpp
zmq_msg_t
Definition: zmq.h:218
create_inproc_client_server_pair
SETUP_TEARDOWN_TESTCONTEXT void create_inproc_client_server_pair(void **server_, void **client_)
Definition: test_client_server.cpp:8
zmq_bind
ZMQ_EXPORT int zmq_bind(void *s_, const char *addr_)
Definition: zmq.cpp:299
zmq_msg_recv
ZMQ_EXPORT int zmq_msg_recv(zmq_msg_t *msg_, void *s_, int flags_)
Definition: zmq.cpp:617
test_routing_id
void test_routing_id()
Definition: test_client_server.cpp:48
test_context_socket
void * test_context_socket(int type_)
Definition: testutil_unity.cpp:200
server
void * server
Definition: test_security_curve.cpp:29
TEST_ASSERT_EQUAL_INT
#define TEST_ASSERT_EQUAL_INT(expected, actual)
Definition: unity.h:128
zmq_msg_init
ZMQ_EXPORT int zmq_msg_init(zmq_msg_t *msg_)
Definition: zmq.cpp:587
zmq_msg_set_routing_id
int zmq_msg_set_routing_id(zmq_msg_t *msg_, uint32_t routing_id_)
Definition: zmq.cpp:688
send_string_expect_success
void send_string_expect_success(void *socket_, const char *str_, int flags_)
Definition: testutil_unity.cpp:94
TEST_ASSERT_EQUAL_UINT32
#define TEST_ASSERT_EQUAL_UINT32(expected, actual)
Definition: unity.h:138
setup_test_environment
void setup_test_environment(int timeout_seconds_)
Definition: testutil.cpp:201
zmq_msg_init_size
ZMQ_EXPORT int zmq_msg_init_size(zmq_msg_t *msg_, size_t size_)
Definition: zmq.cpp:592
UNITY_BEGIN
UNITY_BEGIN()
ZMQ_SNDMORE
#define ZMQ_SNDMORE
Definition: zmq.h:359
zmq_msg_routing_id
uint32_t zmq_msg_routing_id(zmq_msg_t *msg_)
Definition: zmq.cpp:694
data
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: glcorearb.h:2879
test_client_sndmore_fails
void test_client_sndmore_fails()
Definition: test_client_server.cpp:26
zmq_send
ZMQ_EXPORT int zmq_send(void *s_, const void *buf_, size_t len_, int flags_)
Definition: zmq.cpp:377
test_context_socket_close
void * test_context_socket_close(void *socket_)
Definition: testutil_unity.cpp:208
zmq_msg_close
ZMQ_EXPORT int zmq_msg_close(zmq_msg_t *msg_)
Definition: zmq.cpp:625
TEST_ASSERT_SUCCESS_ERRNO
#define TEST_ASSERT_SUCCESS_ERRNO(expr)
Definition: proxy_thr.cpp:47
test_server_sndmore_fails
void test_server_sndmore_fails()
Definition: test_client_server.cpp:37


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