Commit 335cffc1 authored by Richard Newton's avatar Richard Newton

Merge pull request #724 from hintjens/master

Renamed test_router_raw_empty to test_stream_empty
parents ac63e562 eaba5dfe
...@@ -22,6 +22,7 @@ autom4te.cache ...@@ -22,6 +22,7 @@ autom4te.cache
.*~ .*~
tools/curve_keygen.o tools/curve_keygen.o
tools/curve_keygen tools/curve_keygen
tests/test_stream_empty
tests/test_issue_566 tests/test_issue_566
tests/test_ctx_destroy tests/test_ctx_destroy
tests/test_term_endpoint tests/test_term_endpoint
......
...@@ -142,6 +142,8 @@ int zmq::stream_t::xsend (msg_t *msg_) ...@@ -142,6 +142,8 @@ int zmq::stream_t::xsend (msg_t *msg_)
current_out->terminate (false); current_out->terminate (false);
int rc = msg_->close (); int rc = msg_->close ();
errno_assert (rc == 0); errno_assert (rc == 0);
rc = msg_->init ();
errno_assert (rc == 0);
current_out = NULL; current_out = NULL;
return 0; return 0;
} }
......
...@@ -20,9 +20,9 @@ noinst_PROGRAMS = test_system \ ...@@ -20,9 +20,9 @@ noinst_PROGRAMS = test_system \
test_linger \ test_linger \
test_monitor \ test_monitor \
test_router_mandatory \ test_router_mandatory \
test_router_raw_empty \
test_probe_router \ test_probe_router \
test_stream \ test_stream \
test_stream_empty \
test_disconnect_inproc \ test_disconnect_inproc \
test_ctx_options \ test_ctx_options \
test_ctx_destroy \ test_ctx_destroy \
......
...@@ -20,46 +20,41 @@ ...@@ -20,46 +20,41 @@
#include "testutil.hpp" #include "testutil.hpp"
int main (void) { int main (void) {
setup_test_environment(); setup_test_environment ();
void *ctx = zmq_ctx_new(); void *ctx = zmq_ctx_new ();
assert(ctx); assert (ctx);
void *router = zmq_socket(ctx, ZMQ_ROUTER); void *stream = zmq_socket (ctx, ZMQ_STREAM);
assert(router); assert (stream);
void *dealer = zmq_socket(ctx, ZMQ_DEALER); void *dealer = zmq_socket (ctx, ZMQ_DEALER);
assert(dealer); assert (dealer);
int one=1;
int rc = zmq_setsockopt(router, ZMQ_ROUTER_RAW, &one, sizeof(int));
assert(rc >= 0);
rc = zmq_setsockopt(router, ZMQ_ROUTER_MANDATORY, &one, sizeof(int));
assert(rc >= 0);
rc = zmq_bind(router, "tcp://127.0.0.1:5555");
rc = zmq_connect(dealer, "tcp://127.0.0.1:5555");
zmq_send(dealer, "", 0, 0);
int rc = zmq_bind (stream, "tcp://127.0.0.1:5555");
assert (rc >= 0);
rc = zmq_connect (dealer, "tcp://127.0.0.1:5555");
assert (rc >= 0);
zmq_send (dealer, "", 0, 0);
zmq_msg_t ident, empty; zmq_msg_t ident, empty;
zmq_msg_init(&ident); zmq_msg_init (&ident);
rc = zmq_msg_recv(&ident, router, 0); rc = zmq_msg_recv (&ident, stream, 0);
assert(rc >= 0); assert (rc >= 0);
rc = zmq_msg_init_data(&empty, (void*)"", 0, NULL, NULL); rc = zmq_msg_init_data (&empty, (void *) "", 0, NULL, NULL);
assert(rc >= 0); assert (rc >= 0);
rc = zmq_msg_send(&ident, router, ZMQ_SNDMORE); rc = zmq_msg_send (&ident, stream, ZMQ_SNDMORE);
assert(rc >= 0); assert (rc >= 0);
rc = zmq_msg_close(&ident); rc = zmq_msg_close (&ident);
assert(rc >= 0); assert (rc >= 0);
rc = zmq_msg_send(&empty, router, 0); rc = zmq_msg_send (&empty, stream, 0);
assert(rc >= 0); assert (rc >= 0);
// This close used to fail with Bad Address // This close used to fail with Bad Address
rc = zmq_msg_close(&empty); rc = zmq_msg_close (&empty);
assert(rc >= 0); assert (rc >= 0);
close_zero_linger(dealer); close_zero_linger (dealer);
close_zero_linger(router); close_zero_linger (stream);
zmq_ctx_term(ctx); zmq_ctx_term (ctx);
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment