Go to the documentation of this file.
10 #include <sys/types.h>
24 const size_t len = str_ ? strlen (str_) : 0;
27 "recv_string_expect_success cannot be "
28 "used for strings longer than 255 "
34 printf (
"got EAGAIN\n");
62 }
while (child_pid == -1);
68 int recv_timeout = 5000;
70 socket,
ZMQ_RCVTIMEO, &recv_timeout,
sizeof (recv_timeout)));
79 kill (child_pid, SIGTERM);
94 pid = waitpid (child_pid, &status, 0);
99 if (WIFEXITED (status)) {
100 printf (
"exited, status=%d\n", WEXITSTATUS (status));
101 }
else if (WIFSIGNALED (status)) {
102 printf (
"killed by signal %d\n", WTERMSIG (status));
103 }
else if (WIFSTOPPED (status)) {
104 printf (
"stopped by signal %d\n", WSTOPSIG (status));
105 }
else if (WIFCONTINUED (status)) {
106 printf (
"continued\n");
111 printf (
"waitpid returned -1, with errno %s\n",
strerror (
errno));
116 sigset_t sigmask, sigmask_without_sigterm;
117 sigemptyset (&sigmask);
118 sigaddset (&sigmask, SIGTERM);
119 sigprocmask (SIG_BLOCK, &sigmask, &sigmask_without_sigterm);
121 memset (&sa,
'\0',
sizeof (sa));
143 zmq_ppoll (pollitems, 1, -1, &sigmask_without_sigterm));
158 #endif // ZMQ_HAVE_PPOLL
#define TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len)
#define TEST_ASSERT_TRUE(condition)
void test_ppoll_signals()
void setup_test_context()
void teardown_test_context()
ZMQ_EXPORT int zmq_connect(void *s_, const char *addr_)
int zmq_ppoll(zmq_pollitem_t *items_, int nitems_, long timeout_, const sigset_t *sigmask_)
static bool sigterm_received
#define TEST_ASSERT_LESS_OR_EQUAL_MESSAGE(threshold, actual, message)
ZMQ_EXPORT int zmq_setsockopt(void *s_, int option_, const void *optval_, size_t optvallen_)
#define TEST_ASSERT_BITS_HIGH(mask, actual)
char my_endpoint[MAX_SOCKET_STRING]
#define MAX_SOCKET_STRING
ZMQ_EXPORT int zmq_bind(void *s_, const char *addr_)
void bind_loopback(void *socket_, int ipv6_, char *my_endpoint_, size_t len_)
void * test_context_socket(int type_)
void recv_string_expect_success_or_eagain(void *socket_, const char *str_, int flags_)
#define TEST_ASSERT_EQUAL_INT(expected, actual)
#define TEST_IGNORE_MESSAGE(message)
void send_string_expect_success(void *socket_, const char *str_, int flags_)
ZMQ_EXPORT int zmq_recv(void *s_, void *buf_, size_t len_, int flags_)
void recv_string_expect_success(void *socket_, const char *str_, int flags_)
#define TEST_ASSERT_FAILURE_ERRNO(error_code, expr)
char * strerror(int errno)
void * test_context_socket_close(void *socket_)
#define TEST_ASSERT_SUCCESS_ERRNO(expr)
libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:59