From da1e9a178a0651431d20ec440b5a366ea7153ba4 Mon Sep 17 00:00:00 2001 From: Pieter Hintjens Date: Thu, 16 May 2013 20:29:55 +0200 Subject: [PATCH] Cleaned up test pingpong code --- tests/testutil.hpp | 48 +++++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/tests/testutil.hpp b/tests/testutil.hpp index d1102c9b..134dff26 100644 --- a/tests/testutil.hpp +++ b/tests/testutil.hpp @@ -17,59 +17,63 @@ along with this program. If not, see . */ -#ifndef __ZMQ_TEST_TESTUTIL_HPP_INCLUDED__ -#define __ZMQ_TEST_TESTUTIL_HPP_INCLUDED__ +#ifndef __TESTUTIL_HPP_INCLUDED__ +#define __TESTUTIL_HPP_INCLUDED__ #include "../include/zmq.h" #include #undef NDEBUG #include +// Bounce a message from client to server and back +// For REQ/REP or DEALER/DEALER pairs only + static void -bounce (void *sb, void *sc) +bounce (void *server, void *client) { const char *content = "12345678ABCDEFGH12345678abcdefgh"; - // Send the message. - int rc = zmq_send (sc, content, 32, ZMQ_SNDMORE); + // Send message from client to server + int rc = zmq_send (client, content, 32, ZMQ_SNDMORE); assert (rc == 32); - rc = zmq_send (sc, content, 32, 0); + rc = zmq_send (client, content, 32, 0); assert (rc == 32); - // Bounce the message back. - char buf1 [32]; - rc = zmq_recv (sb, buf1, 32, 0); + // Receive message at server side + char buffer [32]; + rc = zmq_recv (server, buffer, 32, 0); assert (rc == 32); int rcvmore; size_t sz = sizeof (rcvmore); - rc = zmq_getsockopt (sb, ZMQ_RCVMORE, &rcvmore, &sz); + rc = zmq_getsockopt (server, ZMQ_RCVMORE, &rcvmore, &sz); assert (rc == 0); assert (rcvmore); - rc = zmq_recv (sb, buf1, 32, 0); + rc = zmq_recv (server, buffer, 32, 0); assert (rc == 32); - rc = zmq_getsockopt (sb, ZMQ_RCVMORE, &rcvmore, &sz); + rc = zmq_getsockopt (server, ZMQ_RCVMORE, &rcvmore, &sz); assert (rc == 0); assert (!rcvmore); - rc = zmq_send (sb, buf1, 32, ZMQ_SNDMORE); + + // Send two parts back to client + rc = zmq_send (server, buffer, 32, ZMQ_SNDMORE); assert (rc == 32); - rc = zmq_send (sb, buf1, 32, 0); + rc = zmq_send (server, buffer, 32, 0); assert (rc == 32); - // Receive the bounced message. - char buf2 [32]; - rc = zmq_recv (sc, buf2, 32, 0); + // Receive the two parts at the client side + rc = zmq_recv (client, buffer, 32, 0); assert (rc == 32); - rc = zmq_getsockopt (sc, ZMQ_RCVMORE, &rcvmore, &sz); + rc = zmq_getsockopt (client, ZMQ_RCVMORE, &rcvmore, &sz); assert (rc == 0); assert (rcvmore); - rc = zmq_recv (sc, buf2, 32, 0); + rc = zmq_recv (client, buffer, 32, 0); assert (rc == 32); - rc = zmq_getsockopt (sc, ZMQ_RCVMORE, &rcvmore, &sz); + rc = zmq_getsockopt (client, ZMQ_RCVMORE, &rcvmore, &sz); assert (rc == 0); assert (!rcvmore); - // Check whether the message is still the same. - assert (memcmp (buf2, content, 32) == 0); + // Check that message is still the same + assert (memcmp (buffer, content, 32) == 0); } #endif