From ada5d424721c0c0139b8011a5e9de348d061ba2f Mon Sep 17 00:00:00 2001 From: Martin Sustrik Date: Mon, 20 Jun 2011 11:16:10 +0200 Subject: Basic tests now test multi-part messages instead of single-part Signed-off-by: Martin Sustrik --- tests/testutil.hpp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'tests/testutil.hpp') diff --git a/tests/testutil.hpp b/tests/testutil.hpp index 1fbf1f3..57db3c4 100644 --- a/tests/testutil.hpp +++ b/tests/testutil.hpp @@ -31,13 +31,27 @@ inline void bounce (void *sb, void *sc) const char *content = "12345678ABCDEFGH12345678abcdefgh"; // Send the message. - int rc = zmq_send (sc, content, 32, 0); + int rc = zmq_send (sc, content, 32, ZMQ_SNDMORE); + assert (rc == 32); + rc = zmq_send (sc, content, 32, 0); assert (rc == 32); // Bounce the message back. char buf1 [32]; rc = zmq_recv (sb, buf1, 32, 0); assert (rc == 32); + int rcvmore; + size_t sz = sizeof (rcvmore); + rc = zmq_getsockopt (sb, ZMQ_RCVMORE, &rcvmore, &sz); + assert (rc == 0); + assert (rcvmore); + rc = zmq_recv (sb, buf1, 32, 0); + assert (rc == 32); + rc = zmq_getsockopt (sb, ZMQ_RCVMORE, &rcvmore, &sz); + assert (rc == 0); + assert (!rcvmore); + rc = zmq_send (sb, buf1, 32, ZMQ_SNDMORE); + assert (rc == 32); rc = zmq_send (sb, buf1, 32, 0); assert (rc == 32); @@ -45,6 +59,14 @@ inline void bounce (void *sb, void *sc) char buf2 [32]; rc = zmq_recv (sc, buf2, 32, 0); assert (rc == 32); + rc = zmq_getsockopt (sc, ZMQ_RCVMORE, &rcvmore, &sz); + assert (rc == 0); + assert (rcvmore); + rc = zmq_recv (sc, buf2, 32, 0); + assert (rc == 32); + rc = zmq_getsockopt (sc, ZMQ_RCVMORE, &rcvmore, &sz); + assert (rc == 0); + assert (!rcvmore); // Check whether the message is still the same. assert (memcmp (buf2, content, 32) == 0); -- cgit v1.2.3