test_poller.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 <limits.h>
7 
8 #ifndef _WIN32
9 #include <sys/socket.h>
10 #include <netinet/in.h>
11 #include <arpa/inet.h>
12 #include <unistd.h>
13 #endif
14 
16 
17 fd_t get_fd (void *socket_)
18 {
19  fd_t fd;
20  size_t fd_size = sizeof fd;
21  TEST_ASSERT_SUCCESS_ERRNO (zmq_getsockopt (socket_, ZMQ_FD, &fd, &fd_size));
22  return fd;
23 }
24 
26 {
28 }
29 
31 {
32  void *null_poller = NULL;
34 }
35 
37 {
39 }
40 
42 {
43  void *null_poller = NULL;
45 }
46 
48 {
49  void *socket = test_context_socket (ZMQ_PAIR);
51  zmq_poller_add (NULL, socket, NULL, ZMQ_POLLIN));
53 }
54 
56 {
57  void *null_poller = NULL;
58  void *socket = test_context_socket (ZMQ_PAIR);
60  EFAULT, zmq_poller_add (&null_poller, socket, NULL, ZMQ_POLLIN));
62 }
63 
65 {
66  void *socket = test_context_socket (ZMQ_PAIR);
68  zmq_poller_modify (NULL, socket, ZMQ_POLLIN));
70 }
71 
73 {
74  void *null_poller = NULL;
75  void *socket = test_context_socket (ZMQ_PAIR);
77  EFAULT, zmq_poller_modify (&null_poller, socket, ZMQ_POLLIN));
79 }
80 
82 {
83  void *socket = test_context_socket (ZMQ_PAIR);
86 }
87 
89 {
90  void *null_poller = NULL;
91  void *socket = test_context_socket (ZMQ_PAIR);
93  zmq_poller_remove (&null_poller, socket));
95 }
96 
98 {
99  void *socket = test_context_socket (ZMQ_PAIR);
100  const fd_t fd = get_fd (socket);
101 
104  test_context_socket_close (socket);
105 }
106 
108 {
109  void *socket = test_context_socket (ZMQ_PAIR);
110  const fd_t fd = get_fd (socket);
111  void *null_poller = NULL;
113  EFAULT, zmq_poller_add_fd (&null_poller, fd, NULL, ZMQ_POLLIN));
114  test_context_socket_close (socket);
115 }
116 
118 {
119  void *socket = test_context_socket (ZMQ_PAIR);
120  const fd_t fd = get_fd (socket);
123  test_context_socket_close (socket);
124 }
125 
127 {
128  void *socket = test_context_socket (ZMQ_PAIR);
129  const fd_t fd = get_fd (socket);
130  void *null_poller = NULL;
132  EFAULT, zmq_poller_modify_fd (&null_poller, fd, ZMQ_POLLIN));
133  test_context_socket_close (socket);
134 }
135 
137 {
138  void *socket = test_context_socket (ZMQ_PAIR);
139  const fd_t fd = get_fd (socket);
141  test_context_socket_close (socket);
142 }
143 
145 {
146  void *socket = test_context_socket (ZMQ_PAIR);
147  const fd_t fd = get_fd (socket);
148  void *null_poller = NULL;
150  test_context_socket_close (socket);
151 }
152 
154 {
157 }
158 
160 {
162  void *null_poller = NULL;
164  zmq_poller_wait (&null_poller, &event, 0));
165 }
166 
168 {
171  zmq_poller_wait_all (NULL, &event, 1, 0));
172 }
173 
175 {
177  void *null_poller = NULL;
179  EFAULT, zmq_poller_wait_all (&null_poller, &event, 1, 0));
180 }
181 
183 {
184  void *null_poller = NULL;
185  fd_t fd;
186  TEST_ASSERT_FAILURE_ERRNO (EFAULT, zmq_poller_fd (&null_poller, &fd));
187 }
188 
190 {
191  void *poller = zmq_poller_new ();
192  TEST_ASSERT_NOT_NULL (poller);
193 
195  zmq_poller_add (poller, NULL, NULL, ZMQ_POLLIN));
196 
198  zmq_poller_modify (poller, NULL, ZMQ_POLLIN));
199 
201 
202  fd_t null_socket_fd = retired_fd;
203 
205  EBADF, zmq_poller_add_fd (poller, null_socket_fd, NULL, ZMQ_POLLIN));
206 
208  EBADF, zmq_poller_modify_fd (poller, null_socket_fd, ZMQ_POLLIN));
209 
211  zmq_poller_remove_fd (poller, null_socket_fd));
212 
214 }
215 
216 typedef void (*extra_poller_socket_func_t) (void *poller_, void *socket_);
217 
219 {
220  void *socket = test_context_socket (ZMQ_PAIR);
221 
222  void *poller = zmq_poller_new ();
223  TEST_ASSERT_NOT_NULL (poller);
224 
225  extra_func_ (poller, socket);
226 
228 
229  test_context_socket_close (socket);
230 }
231 
232 typedef void (*extra_poller_func_t) (void *poller_);
233 
235 {
236  void *socket = test_context_socket (ZMQ_PAIR);
237 
238  void *poller = zmq_poller_new ();
239  TEST_ASSERT_NOT_NULL (poller);
240 
242  zmq_poller_add (poller, socket, NULL, ZMQ_POLLIN));
243 
244  extra_func_ (poller);
245 
247 
248  test_context_socket_close (socket);
249 }
250 
252 {
253  void *socket = test_context_socket (ZMQ_PAIR);
254 
255  void *poller = zmq_poller_new ();
256  TEST_ASSERT_NOT_NULL (poller);
257 
259  zmq_poller_add (poller, socket, NULL, ZMQ_POLLIN));
260 
261  fd_t fd;
263 
265 
266  test_context_socket_close (socket);
267 }
268 
270 {
271  void *socket = test_context_socket (ZMQ_CLIENT);
272 
273  void *poller = zmq_poller_new ();
274  TEST_ASSERT_NOT_NULL (poller);
275 
277  zmq_poller_add (poller, socket, NULL, ZMQ_POLLIN));
278 
279  fd_t fd;
281 
283 
284  test_context_socket_close (socket);
285 }
286 
288 {
290 }
291 
293 {
295  zmq_poller_wait_all (poller_, NULL, 1, 0));
296 }
297 
299 {
300  LIBZMQ_UNUSED (poller_);
301 #if 0
302  // TODO this causes an assertion, which is not consistent if the number
303  // of events may be 0, the pointer should be allowed to by NULL in that
304  // case too
306 #endif
307 }
308 
309 #define TEST_CASE_FUNC_PARAM(name, func) \
310  void test_##name () \
311  { \
312  func (name); \
313  }
314 
320 
321 void call_poller_size (void *poller_, void *socket_)
322 {
323  int rc = zmq_poller_size (poller_);
325  TEST_ASSERT_EQUAL (rc, 0);
326 
328  zmq_poller_add (poller_, socket_, NULL, ZMQ_POLLIN));
329  rc = zmq_poller_size (poller_);
331  TEST_ASSERT_EQUAL (rc, 1);
332 
333  TEST_ASSERT_SUCCESS_ERRNO (zmq_poller_modify (poller_, socket_, 0));
334  rc = zmq_poller_size (poller_);
336  TEST_ASSERT_EQUAL (rc, 1);
337 
338  fd_t plain_socket = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP);
340  zmq_poller_add_fd (poller_, plain_socket, NULL, ZMQ_POLLOUT));
341  rc = zmq_poller_size (poller_);
343  TEST_ASSERT_EQUAL (rc, 2);
344 
345  TEST_ASSERT_SUCCESS_ERRNO (zmq_poller_remove (poller_, socket_));
346  rc = zmq_poller_size (poller_);
348  TEST_ASSERT_EQUAL (rc, 1);
349 
350  TEST_ASSERT_SUCCESS_ERRNO (zmq_poller_remove_fd (poller_, plain_socket));
351  TEST_ASSERT_SUCCESS_ERRNO (close (plain_socket));
352  rc = zmq_poller_size (poller_);
354  TEST_ASSERT_EQUAL (rc, 0);
355 }
356 
357 void call_poller_add_twice_fails (void *poller_, void *socket_)
358 {
360  zmq_poller_add (poller_, socket_, NULL, ZMQ_POLLIN));
361 
362  // attempt to add the same socket twice
364  EINVAL, zmq_poller_add (poller_, socket_, NULL, ZMQ_POLLIN));
365 
366  TEST_ASSERT_SUCCESS_ERRNO (zmq_poller_remove (poller_, socket_));
367 }
368 
369 void call_poller_remove_unregistered_fails (void *poller_, void *socket_)
370 {
371  // attempt to remove socket that is not present
372  TEST_ASSERT_FAILURE_ERRNO (EINVAL, zmq_poller_remove (poller_, socket_));
373 }
374 
375 void call_poller_modify_unregistered_fails (void *poller_, void *socket_)
376 {
377  // attempt to modify socket that is not present
379  EINVAL, zmq_poller_modify (poller_, socket_, ZMQ_POLLIN));
380 }
381 
382 void call_poller_add_no_events (void *poller_, void *socket_)
383 {
384  // add a socket with no events initially (may be activated later with
385  // zmq_poller_modify)
386  TEST_ASSERT_SUCCESS_ERRNO (zmq_poller_add (poller_, socket_, NULL, 0));
387  // TODO test that no events are signalled
388 }
389 
390 void call_poller_modify_no_events (void *poller_, void *socket_)
391 {
392  // deactivates all events for a socket temporarily (may be activated again
393  // later with zmq_poller_modify)
394  zmq_poller_add (poller_, socket_, NULL, ZMQ_POLLIN);
395  TEST_ASSERT_SUCCESS_ERRNO (zmq_poller_modify (poller_, socket_, 0));
396  // TODO test that no events are signalled
397 }
398 
399 void call_poller_add_fd_twice_fails (void *poller_, void * /*zeromq_socket*/)
400 {
401  fd_t plain_socket = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP);
403  zmq_poller_add_fd (poller_, plain_socket, NULL, ZMQ_POLLIN));
404 
405  // attempt to add the same plain socket twice
407  EINVAL, zmq_poller_add_fd (poller_, plain_socket, NULL, ZMQ_POLLIN));
408 
409  TEST_ASSERT_SUCCESS_ERRNO (zmq_poller_remove_fd (poller_, plain_socket));
410 
411  TEST_ASSERT_SUCCESS_ERRNO (close (plain_socket));
412 }
413 
415  void * /*zeromq_socket*/)
416 {
417  fd_t plain_socket = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP);
418 
419  // attempt to remove plain socket that is not present
421  zmq_poller_remove_fd (poller_, plain_socket));
422 
423  TEST_ASSERT_SUCCESS_ERRNO (close (plain_socket));
424 }
425 
427  void * /*zeromq_socket*/)
428 {
429  fd_t plain_socket = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP);
430 
431  // attempt to remove plain socket that is not present
433  EINVAL, zmq_poller_modify_fd (poller_, plain_socket, ZMQ_POLLIN));
434 
435  TEST_ASSERT_SUCCESS_ERRNO (close (plain_socket));
436 }
437 
438 void call_poller_add_invalid_events_fails (void *poller_, void *zeromq_socket_)
439 {
441  EINVAL, zmq_poller_add (poller_, zeromq_socket_, NULL, SHRT_MAX));
442 }
443 
445  void *zeromq_socket_)
446 {
448  zmq_poller_add (poller_, zeromq_socket_, NULL, 0));
449 
451  EINVAL, zmq_poller_modify (poller_, zeromq_socket_, SHRT_MAX));
452 }
453 
455  void * /*zeromq_socket*/)
456 {
457  fd_t plain_socket = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP);
459  EINVAL, zmq_poller_add_fd (poller_, plain_socket, NULL, SHRT_MAX));
460 
461  TEST_ASSERT_SUCCESS_ERRNO (close (plain_socket));
462 }
463 
465  void * /*zeromq_socket*/)
466 {
467  fd_t plain_socket = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP);
469  zmq_poller_add_fd (poller_, plain_socket, NULL, 0));
471  EINVAL, zmq_poller_modify_fd (poller_, plain_socket, SHRT_MAX));
472 
473  TEST_ASSERT_SUCCESS_ERRNO (close (plain_socket));
474 }
475 
489 
498 
500  void * /*socket*/)
501 {
503  // waiting on poller with no registered sockets should report error
505 }
506 
508  void * /*socket*/)
509 {
511  // this would never be able to return since no socket was registered, and should yield an error
513 }
514 
516  void * /*socket*/)
517 {
520  zmq_poller_wait_all (poller_, &event, -1, 0));
521 }
522 
524  void * /*socket*/)
525 {
528  zmq_poller_wait_all (poller_, &event, 0, 0));
529 }
530 
532  void * /*socket*/)
533 {
535  // this would never be able to return since no socket was registered, and should yield an error
537  zmq_poller_wait_all (poller_, &event, 0, -1));
538 }
539 
540 void call_poller_wait_all_inf_disabled_fails (void *poller_, void *socket_)
541 {
542  TEST_ASSERT_SUCCESS_ERRNO (zmq_poller_add (poller_, socket_, NULL, 0));
543 
544  zmq_poller_event_t events[1];
546  zmq_poller_wait_all (poller_, events, 1, 0));
548  zmq_poller_wait_all (poller_, events, 1, -1));
549 }
550 
563 
565 {
566  // Create few sockets
567  void *vent = test_context_socket (ZMQ_PUSH);
568 
569  size_t len = MAX_SOCKET_STRING;
572 
573  void *sink = test_context_socket (ZMQ_PULL);
575 
576  // Set up poller
577  void *poller = zmq_poller_new ();
578 
579  // register sink
580  TEST_ASSERT_SUCCESS_ERRNO (zmq_poller_add (poller, sink, sink, ZMQ_POLLIN));
581 
582  // Send a message
583  const char *vent_sink_msg = "H";
584  send_string_expect_success (vent, vent_sink_msg, 0);
585 
586  // We expect a message only on the sink
589  TEST_ASSERT_EQUAL_PTR (sink, event.socket);
590  TEST_ASSERT_EQUAL_PTR (sink, event.user_data);
591  recv_string_expect_success (sink, vent_sink_msg, 0);
592 
593  // We expect timed out
595 
596  // Stop polling sink
598 
599  // Clean up
603 }
604 
606 {
607  // Create sockets
608  void *vent = test_context_socket (ZMQ_PUSH);
609 
610  size_t len = MAX_SOCKET_STRING;
613 
614  void *bowl = test_context_socket (ZMQ_PULL);
616 
617  // Set up poller
618  void *poller = zmq_poller_new ();
619 
620  // Check we can poll an FD
621  const fd_t fd = get_fd (bowl);
623  zmq_poller_add_fd (poller, fd, bowl, ZMQ_POLLIN));
624 
627  TEST_ASSERT_NULL (event.socket);
628  TEST_ASSERT_EQUAL (fd, event.fd);
629  TEST_ASSERT_EQUAL_PTR (bowl, event.user_data);
631 
632  // Clean up
635 
637 }
638 
640 {
641 #if defined(ZMQ_SERVER) && defined(ZMQ_CLIENT)
642  // Create sockets
644 
645  size_t len = MAX_SOCKET_STRING;
648 
650 
651  // Set up poller
652  void *poller = zmq_poller_new ();
653 
654  // Polling on thread safe sockets
656  zmq_poller_add (poller, server, NULL, ZMQ_POLLIN));
658 
659  const char *client_server_msg = "I";
660  send_string_expect_success (client, client_server_msg, 0);
661 
665  TEST_ASSERT_NULL (event.user_data);
666 #ifndef _WIN32
667  TEST_ASSERT (event.fd == -1);
668 #endif
669  recv_string_expect_success (server, client_server_msg, 0);
670 
671  // Polling on pollout
676  TEST_ASSERT_NULL (event.user_data);
677 #ifndef _WIN32
678  TEST_ASSERT (event.fd == -1);
679 #endif
681 
682  // Stop polling server
684 
685  // Clean up
688 
690 #endif
691 }
692 
693 int main (void)
694 {
696 
697  UNITY_BEGIN ();
719 
721 
722  RUN_TEST (test_call_poller_wait_null_event_fails);
723  RUN_TEST (test_call_poller_wait_all_null_event_fails_event_count_nonzero);
724  RUN_TEST (test_call_poller_wait_all_null_event_fails_event_count_zero);
725 
726  RUN_TEST (test_call_poller_size);
727  RUN_TEST (test_call_poller_add_twice_fails);
728  RUN_TEST (test_call_poller_remove_unregistered_fails);
729  RUN_TEST (test_call_poller_modify_unregistered_fails);
730  RUN_TEST (test_call_poller_add_no_events);
731  RUN_TEST (test_call_poller_modify_no_events);
732  RUN_TEST (test_call_poller_add_fd_twice_fails);
733  RUN_TEST (test_call_poller_remove_fd_unregistered_fails);
734  RUN_TEST (test_call_poller_modify_fd_unregistered_fails);
735  RUN_TEST (test_call_poller_add_invalid_events_fails);
736  RUN_TEST (test_call_poller_modify_invalid_events_fails);
737  RUN_TEST (test_call_poller_add_fd_invalid_events_fails);
738  RUN_TEST (test_call_poller_modify_fd_invalid_events_fails);
739 
740  RUN_TEST (test_call_poller_wait_empty_with_timeout_fails);
741  RUN_TEST (test_call_poller_wait_empty_without_timeout_fails);
742  RUN_TEST (test_call_poller_wait_all_empty_negative_count_fails);
743  RUN_TEST (test_call_poller_wait_all_empty_without_timeout_fails);
744  RUN_TEST (test_call_poller_wait_all_empty_with_timeout_fails);
745  RUN_TEST (test_call_poller_wait_all_inf_disabled_fails);
746 
749 
753 
754  return UNITY_END ();
755 }
call_poller_add_twice_fails
void call_poller_add_twice_fails(void *poller_, void *socket_)
Definition: test_poller.cpp:357
call_poller_wait_all_inf_disabled_fails
void call_poller_wait_all_inf_disabled_fails(void *poller_, void *socket_)
Definition: test_poller.cpp:540
test_poll_basic
test_with_empty_poller test_with_empty_poller test_with_empty_poller void test_poll_basic()
Definition: test_poller.cpp:564
ZMQ_SERVER
#define ZMQ_SERVER
Definition: zmq_draft.h:14
call_poller_wait_all_empty_without_timeout_fails
void call_poller_wait_all_empty_without_timeout_fails(void *poller_, void *)
Definition: test_poller.cpp:523
test_null_poller_pointers_remove_fd_indirect
void test_null_poller_pointers_remove_fd_indirect()
Definition: test_poller.cpp:144
call_poller_wait_empty_with_timeout_fails
test_with_empty_poller test_with_empty_poller test_with_empty_poller test_with_empty_poller void call_poller_wait_empty_with_timeout_fails(void *poller_, void *)
Definition: test_poller.cpp:499
TEST_ASSERT_EQUAL_PTR
#define TEST_ASSERT_EQUAL_PTR(expected, actual)
Definition: unity.h:234
NULL
NULL
Definition: test_security_zap.cpp:405
UNITY_END
return UNITY_END()
EINVAL
#define EINVAL
Definition: errno.hpp:25
test_null_poller_pointers_modify_indirect
void test_null_poller_pointers_modify_indirect()
Definition: test_poller.cpp:72
call_poller_add_invalid_events_fails
void call_poller_add_invalid_events_fails(void *poller_, void *zeromq_socket_)
Definition: test_poller.cpp:438
EAGAIN
#define EAGAIN
Definition: errno.hpp:14
ZMQ_CLIENT
#define ZMQ_CLIENT
Definition: zmq_draft.h:15
RUN_TEST
#define RUN_TEST(func)
Definition: unity_internals.h:615
test_null_poller_pointers_destroy_direct
void test_null_poller_pointers_destroy_direct()
Definition: test_poller.cpp:25
test_null_poller_pointers_add_fd_direct
void test_null_poller_pointers_add_fd_direct()
Definition: test_poller.cpp:97
test_null_poller_pointers_size_direct
void test_null_poller_pointers_size_direct()
Definition: test_poller.cpp:36
test_poll_client_server
void test_poll_client_server()
Definition: test_poller.cpp:639
SETUP_TEARDOWN_TESTCONTEXT
#define SETUP_TEARDOWN_TESTCONTEXT
Definition: testutil_unity.hpp:172
zmq_poller_remove_fd
int zmq_poller_remove_fd(void *poller_, zmq::fd_t fd_)
Definition: zmq.cpp:1568
call_poller_remove_unregistered_fails
void call_poller_remove_unregistered_fails(void *poller_, void *socket_)
Definition: test_poller.cpp:369
zmq_poller_fd
int zmq_poller_fd(void *poller_, zmq_fd_t *fd_)
Definition: zmq.cpp:1615
bind_loopback_ipv4
void bind_loopback_ipv4(void *socket_, char *my_endpoint_, size_t len_)
Definition: testutil_unity.cpp:246
call_poller_remove_fd_unregistered_fails
void call_poller_remove_fd_unregistered_fails(void *poller_, void *)
Definition: test_poller.cpp:414
client
void client(int num)
Definition: test_multithread.cpp:134
test_null_poller_pointers_wait_direct
void test_null_poller_pointers_wait_direct()
Definition: test_poller.cpp:153
test_null_poller_pointers_remove_direct
void test_null_poller_pointers_remove_direct()
Definition: test_poller.cpp:81
test_null_poller_pointers_wait_all_direct
void test_null_poller_pointers_wait_all_direct()
Definition: test_poller.cpp:167
TEST_ASSERT
#define TEST_ASSERT(condition)
Definition: unity.h:120
zmq_connect
ZMQ_EXPORT int zmq_connect(void *s_, const char *addr_)
Definition: zmq.cpp:307
get_fd
SETUP_TEARDOWN_TESTCONTEXT fd_t get_fd(void *socket_)
Definition: test_poller.cpp:17
zmq_poller_modify_fd
int zmq_poller_modify_fd(void *poller_, zmq::fd_t fd_, short events_)
Definition: zmq.cpp:1548
test_with_empty_poller
void test_with_empty_poller(extra_poller_socket_func_t extra_func_)
Definition: test_poller.cpp:218
ZMQ_POLLIN
#define ZMQ_POLLIN
Definition: zmq.h:482
retired_fd
@ retired_fd
Definition: libzmq/tests/testutil.hpp:117
testutil_unity.hpp
ZMQ_POLLOUT
#define ZMQ_POLLOUT
Definition: zmq.h:483
zmq_poller_modify
int zmq_poller_modify(void *poller_, void *s_, short events_)
Definition: zmq.cpp:1535
event
struct _cl_event * event
Definition: glcorearb.h:4163
call_poller_modify_invalid_events_fails
void call_poller_modify_invalid_events_fails(void *poller_, void *zeromq_socket_)
Definition: test_poller.cpp:444
test_null_poller_pointers_add_direct
void test_null_poller_pointers_add_direct()
Definition: test_poller.cpp:47
LIBZMQ_UNUSED
#define LIBZMQ_UNUSED(object)
Definition: macros.hpp:6
ZMQ_PUSH
#define ZMQ_PUSH
Definition: zmq.h:266
testutil.hpp
test_null_poller_pointers_add_fd_indirect
void test_null_poller_pointers_add_fd_indirect()
Definition: test_poller.cpp:107
zmq_poller_event_t
Definition: zmq_draft.h:114
zmq_poller_new
void * zmq_poller_new(void)
Definition: zmq.cpp:1429
test_null_poller_pointers_destroy_indirect
void test_null_poller_pointers_destroy_indirect()
Definition: test_poller.cpp:30
test_null_poller_pointers_remove_indirect
void test_null_poller_pointers_remove_indirect()
Definition: test_poller.cpp:88
zmq_poller_wait
int zmq_poller_wait(void *poller_, zmq_poller_event_t *event_, long timeout_)
Definition: zmq.cpp:1576
call_poller_add_fd_twice_fails
void call_poller_add_fd_twice_fails(void *poller_, void *)
Definition: test_poller.cpp:399
EBADF
#define EBADF
Definition: errno.hpp:12
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
call_poller_size
test_with_valid_poller void call_poller_size(void *poller_, void *socket_)
Definition: test_poller.cpp:321
call_poller_modify_unregistered_fails
void call_poller_modify_unregistered_fails(void *poller_, void *socket_)
Definition: test_poller.cpp:375
test_with_valid_poller
void test_with_valid_poller(extra_poller_func_t extra_func_)
Definition: test_poller.cpp:234
ENOTSOCK
#define ENOTSOCK
Definition: zmq.h:128
call_poller_wait_empty_without_timeout_fails
void call_poller_wait_empty_without_timeout_fails(void *poller_, void *)
Definition: test_poller.cpp:507
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
#define TEST_ASSERT_EQUAL(expected, actual)
Definition: unity.h:133
call_poller_wait_all_null_event_fails_event_count_zero
void call_poller_wait_all_null_event_fails_event_count_zero(void *poller_)
Definition: test_poller.cpp:298
TEST_ASSERT_EQUAL_INT
#define TEST_ASSERT_EQUAL_INT(expected, actual)
Definition: unity.h:128
void
typedef void(APIENTRY *GLDEBUGPROCARB)(GLenum source
call_poller_add_fd_invalid_events_fails
void call_poller_add_fd_invalid_events_fails(void *poller_, void *)
Definition: test_poller.cpp:454
send_string_expect_success
void send_string_expect_success(void *socket_, const char *str_, int flags_)
Definition: testutil_unity.cpp:94
call_poller_wait_all_empty_negative_count_fails
void call_poller_wait_all_empty_negative_count_fails(void *poller_, void *)
Definition: test_poller.cpp:515
len
int len
Definition: php/ext/google/protobuf/map.c:206
ZMQ_PAIR
#define ZMQ_PAIR
Definition: zmq.h:258
zmq_poller_size
int zmq_poller_size(void *poller_)
Definition: zmq.cpp:1501
zmq_poller_add
int zmq_poller_add(void *poller_, void *s_, void *user_data_, short events_)
Definition: zmq.cpp:1509
test_null_poller_pointers_modify_fd_indirect
void test_null_poller_pointers_modify_fd_indirect()
Definition: test_poller.cpp:126
call_poller_wait_all_null_event_fails_event_count_nonzero
void call_poller_wait_all_null_event_fails_event_count_nonzero(void *poller_)
Definition: test_poller.cpp:292
call_poller_wait_all_empty_with_timeout_fails
void call_poller_wait_all_empty_with_timeout_fails(void *poller_, void *)
Definition: test_poller.cpp:531
call_poller_modify_fd_invalid_events_fails
void call_poller_modify_fd_invalid_events_fails(void *poller_, void *)
Definition: test_poller.cpp:464
test_null_socket_pointers
void test_null_socket_pointers()
Definition: test_poller.cpp:189
recv_string_expect_success
void recv_string_expect_success(void *socket_, const char *str_, int flags_)
Definition: testutil_unity.cpp:101
TEST_CASE_FUNC_PARAM
#define TEST_CASE_FUNC_PARAM(name, func)
Definition: test_poller.cpp:309
test_null_poller_pointers_modify_direct
void test_null_poller_pointers_modify_direct()
Definition: test_poller.cpp:64
setup_test_environment
void setup_test_environment(int timeout_seconds_)
Definition: testutil.cpp:201
UNITY_BEGIN
UNITY_BEGIN()
fd_t
zmq_fd_t fd_t
Definition: libzmq/tests/testutil.hpp:98
TEST_ASSERT_FAILURE_ERRNO
#define TEST_ASSERT_FAILURE_ERRNO(error_code, expr)
Definition: testutil_unity.hpp:95
test_null_poller_pointers_size_indirect
void test_null_poller_pointers_size_indirect()
Definition: test_poller.cpp:41
test_call_poller_fd_no_signaler
void test_call_poller_fd_no_signaler()
Definition: test_poller.cpp:251
test_call_poller_fd
void test_call_poller_fd()
Definition: test_poller.cpp:269
zmq_poller_remove
int zmq_poller_remove(void *poller_, void *s_)
Definition: zmq.cpp:1558
test_null_poller_pointers_wait_all_indirect
void test_null_poller_pointers_wait_all_indirect()
Definition: test_poller.cpp:174
test_null_poller_pointers_remove_fd_direct
void test_null_poller_pointers_remove_fd_direct()
Definition: test_poller.cpp:136
ZMQ_FD
#define ZMQ_FD
Definition: zmq.h:285
zmq_poller_add_fd
int zmq_poller_add_fd(void *poller_, zmq::fd_t fd_, void *user_data_, short events_)
Definition: zmq.cpp:1521
call_poller_modify_no_events
void call_poller_modify_no_events(void *poller_, void *socket_)
Definition: test_poller.cpp:390
test_poll_fd
void test_poll_fd()
Definition: test_poller.cpp:605
ZMQ_PULL
#define ZMQ_PULL
Definition: zmq.h:265
extra_poller_func_t
void(* extra_poller_func_t)(void *poller_)
Definition: test_poller.cpp:232
call_poller_modify_fd_unregistered_fails
void call_poller_modify_fd_unregistered_fails(void *poller_, void *)
Definition: test_poller.cpp:426
EFAULT
#define EFAULT
Definition: errno.hpp:17
test_context_socket_close
void * test_context_socket_close(void *socket_)
Definition: testutil_unity.cpp:208
test_null_poller_pointers_wait_indirect
void test_null_poller_pointers_wait_indirect()
Definition: test_poller.cpp:159
test_null_poller_pointers_modify_fd_direct
void test_null_poller_pointers_modify_fd_direct()
Definition: test_poller.cpp:117
TEST_ASSERT_NOT_NULL
#define TEST_ASSERT_NOT_NULL(pointer)
Definition: unity.h:125
call_poller_add_no_events
void call_poller_add_no_events(void *poller_, void *socket_)
Definition: test_poller.cpp:382
extra_poller_socket_func_t
void(* extra_poller_socket_func_t)(void *poller_, void *socket_)
Definition: test_poller.cpp:216
test_null_poller_pointer_poller_fd
void test_null_poller_pointer_poller_fd()
Definition: test_poller.cpp:182
TEST_ASSERT_SUCCESS_ERRNO
#define TEST_ASSERT_SUCCESS_ERRNO(expr)
Definition: proxy_thr.cpp:47
main
int main(void)
Definition: test_poller.cpp:693
zmq_poller_destroy
int zmq_poller_destroy(void **poller_p_)
Definition: zmq.cpp:1438
zmq_getsockopt
ZMQ_EXPORT int zmq_getsockopt(void *s_, int option_, void *optval_, size_t *optvallen_)
Definition: zmq.cpp:261
zmq_poller_wait_all
int zmq_poller_wait_all(void *poller_, zmq_poller_event_t *events_, int n_events_, long timeout_)
Definition: zmq.cpp:1590
call_poller_wait_null_event_fails
void call_poller_wait_null_event_fails(void *poller_)
Definition: test_poller.cpp:287
test_null_poller_pointers_add_indirect
void test_null_poller_pointers_add_indirect()
Definition: test_poller.cpp:55
TEST_ASSERT_NULL
#define TEST_ASSERT_NULL(pointer)
Definition: unity.h:124


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