test_peer.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 test_peer ()
9 {
10  size_t len = MAX_SOCKET_STRING;
12 
13  void *peer1 = test_context_socket (ZMQ_PEER);
14  bind_loopback (peer1, false, my_endpoint, len);
15 
16  void *peer2 = test_context_socket (ZMQ_PEER);
17  uint32_t peer1_routing_id = zmq_connect_peer (peer2, my_endpoint);
18  TEST_ASSERT_NOT_EQUAL (0, peer1_routing_id);
19 
20  {
21  zmq_msg_t msg;
23 
24  char *data = static_cast<char *> (zmq_msg_data (&msg));
25  data[0] = 1;
26 
28  zmq_msg_set_routing_id (&msg, peer1_routing_id));
29 
30  int rc = zmq_msg_send (&msg, peer2, 0);
31  TEST_ASSERT_EQUAL_INT (1, rc);
32  }
33 
34  uint32_t peer2_routing_id;
35  {
36  zmq_msg_t msg;
38 
39  int rc = TEST_ASSERT_SUCCESS_ERRNO (zmq_msg_recv (&msg, peer1, 0));
40  TEST_ASSERT_EQUAL_INT (1, rc);
41 
42  peer2_routing_id = zmq_msg_routing_id (&msg);
43  TEST_ASSERT_NOT_EQUAL (0, peer2_routing_id);
44 
46  }
47 
48  {
49  zmq_msg_t msg;
51 
52  char *data = static_cast<char *> (zmq_msg_data (&msg));
53  data[0] = 2;
54 
56  zmq_msg_set_routing_id (&msg, peer2_routing_id));
57 
58  int rc = zmq_msg_send (&msg, peer1, 0);
59  TEST_ASSERT_EQUAL_INT (1, rc);
60  }
61 
62  {
63  zmq_msg_t msg;
65 
66  int rc = zmq_msg_recv (&msg, peer2, 0);
67  TEST_ASSERT_EQUAL_INT (1, rc);
68 
69  uint32_t routing_id = zmq_msg_routing_id (&msg);
70  TEST_ASSERT_EQUAL_UINT32 (peer1_routing_id, routing_id);
71 
73  }
74 
77 }
78 
79 int main (void)
80 {
82 
83  UNITY_BEGIN ();
85  return UNITY_END ();
86 }
UNITY_END
return UNITY_END()
zmq_connect_peer
uint32_t zmq_connect_peer(void *s_, const char *addr_)
Definition: zmq.cpp:315
zmq_msg_send
ZMQ_EXPORT int zmq_msg_send(zmq_msg_t *msg_, void *s_, int flags_)
Definition: zmq.cpp:609
RUN_TEST
#define RUN_TEST(func)
Definition: unity_internals.h:615
SETUP_TEARDOWN_TESTCONTEXT
#define SETUP_TEARDOWN_TESTCONTEXT
Definition: testutil_unity.hpp:172
main
int main(void)
Definition: test_peer.cpp:79
zmq_msg_data
ZMQ_EXPORT void * zmq_msg_data(zmq_msg_t *msg_)
Definition: zmq.cpp:642
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
my_endpoint
char my_endpoint[MAX_SOCKET_STRING]
Definition: test_security_curve.cpp:31
MAX_SOCKET_STRING
#define MAX_SOCKET_STRING
Definition: libzmq/tests/testutil.hpp:35
bind_loopback
void bind_loopback(void *socket_, int ipv6_, char *my_endpoint_, size_t len_)
Definition: testutil_unity.cpp:233
zmq_msg_recv
ZMQ_EXPORT int zmq_msg_recv(zmq_msg_t *msg_, void *s_, int flags_)
Definition: zmq.cpp:617
test_context_socket
void * test_context_socket(int type_)
Definition: testutil_unity.cpp:200
TEST_ASSERT_EQUAL_INT
#define TEST_ASSERT_EQUAL_INT(expected, actual)
Definition: unity.h:128
ZMQ_PEER
#define ZMQ_PEER
Definition: zmq_draft.h:21
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
len
int len
Definition: php/ext/google/protobuf/map.c:206
TEST_ASSERT_EQUAL_UINT32
#define TEST_ASSERT_EQUAL_UINT32(expected, actual)
Definition: unity.h:138
test_peer
SETUP_TEARDOWN_TESTCONTEXT void test_peer()
Definition: test_peer.cpp:8
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_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_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


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