test_msg_flags.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_more ()
9 {
10  // Create the infrastructure
12  TEST_ASSERT_SUCCESS_ERRNO (zmq_bind (sb, "inproc://a"));
13 
15  TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sc, "inproc://a"));
16 
17  // Send 2-part message.
20 
21  // Routing id comes first.
22  zmq_msg_t msg;
26 
27  // Then the first part of the message body.
29  1, TEST_ASSERT_SUCCESS_ERRNO (zmq_msg_recv (&msg, sb, 0)));
31 
32  // And finally, the second part of the message body.
34  1, TEST_ASSERT_SUCCESS_ERRNO (zmq_msg_recv (&msg, sb, 0)));
36 
37  // Deallocate the infrastructure.
40 }
41 
43 {
44  // Test ZMQ_SHARED property (case 1, refcounted messages)
45  zmq_msg_t msg_a;
47  zmq_msg_init_size (&msg_a, 1024)); // large enough to be a type_lmsg
48 
49  // Message is not shared
51 
52  zmq_msg_t msg_b;
54 
55  TEST_ASSERT_SUCCESS_ERRNO (zmq_msg_copy (&msg_b, &msg_a));
56 
57  // Message is now shared
60 
61  // cleanup
64 }
65 
67 {
68  zmq_msg_t msg_a;
69  // Test ZMQ_SHARED property (case 2, constant data messages)
71  zmq_msg_init_data (&msg_a, (void *) "TEST", 5, 0, 0));
72 
73  // Message reports as shared
76 
77  // cleanup
79 }
80 
81 int main ()
82 {
84 
85  UNITY_BEGIN ();
89  return UNITY_END ();
90 }
ZMQ_SHARED
#define ZMQ_SHARED
Definition: zmq.h:355
test_more
SETUP_TEARDOWN_TESTCONTEXT void test_more()
Definition: test_msg_flags.cpp:8
UNITY_END
return UNITY_END()
RUN_TEST
#define RUN_TEST(func)
Definition: unity_internals.h:615
zmq_msg_get
ZMQ_EXPORT int zmq_msg_get(const zmq_msg_t *msg_, int property_)
Definition: zmq.cpp:657
SETUP_TEARDOWN_TESTCONTEXT
#define SETUP_TEARDOWN_TESTCONTEXT
Definition: testutil_unity.hpp:172
zmq_connect
ZMQ_EXPORT int zmq_connect(void *s_, const char *addr_)
Definition: zmq.cpp:307
zmq_msg_init_data
ZMQ_EXPORT int zmq_msg_init_data(zmq_msg_t *msg_, void *data_, size_t size_, zmq_free_fn *ffn_, void *hint_)
Definition: zmq.cpp:602
testutil_unity.hpp
ZMQ_DEALER
#define ZMQ_DEALER
Definition: zmq.h:263
main
int main()
Definition: test_msg_flags.cpp:81
sb
void * sb
Definition: test_channel.cpp:8
testutil.hpp
ZMQ_ROUTER
#define ZMQ_ROUTER
Definition: zmq.h:264
zmq_msg_t
Definition: zmq.h:218
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
sc
void * sc
Definition: test_channel.cpp:9
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_msg_init
ZMQ_EXPORT int zmq_msg_init(zmq_msg_t *msg_)
Definition: zmq.cpp:587
send_string_expect_success
void send_string_expect_success(void *socket_, const char *str_, int flags_)
Definition: testutil_unity.cpp:94
test_shared_refcounted
void test_shared_refcounted()
Definition: test_msg_flags.cpp:42
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_copy
ZMQ_EXPORT int zmq_msg_copy(zmq_msg_t *dest_, zmq_msg_t *src_)
Definition: zmq.cpp:636
ZMQ_SNDMORE
#define ZMQ_SNDMORE
Definition: zmq.h:359
zmq_msg_more
ZMQ_EXPORT int zmq_msg_more(const zmq_msg_t *msg_)
Definition: zmq.cpp:652
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_shared_const
void test_shared_const()
Definition: test_msg_flags.cpp:66
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