diff --git a/tests/test_xpub_manual.cpp b/tests/test_xpub_manual.cpp index 012f765d..b9db2bc2 100644 --- a/tests/test_xpub_manual.cpp +++ b/tests/test_xpub_manual.cpp @@ -297,11 +297,6 @@ void test_missing_subscriptions () TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sub1, my_endpoint_backend)); TEST_ASSERT_SUCCESS_ERRNO (zmq_setsockopt (sub1, ZMQ_SUBSCRIBE, topic1, 1)); - // second subscriber - void *sub2 = test_context_socket (ZMQ_SUB); - TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sub2, my_endpoint_backend)); - TEST_ASSERT_SUCCESS_ERRNO (zmq_setsockopt (sub2, ZMQ_SUBSCRIBE, topic2, 1)); - // wait msleep (SETTLE_TIME); @@ -312,6 +307,14 @@ void test_missing_subscriptions () zmq_setsockopt (xpub_proxy, ZMQ_SUBSCRIBE, topic1, 1)); send_array_expect_success (xsub_proxy, subscription1, 0); + // second subscriber + void *sub2 = test_context_socket (ZMQ_SUB); + TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sub2, my_endpoint_backend)); + TEST_ASSERT_SUCCESS_ERRNO (zmq_setsockopt (sub2, ZMQ_SUBSCRIBE, topic2, 1)); + + // wait + msleep (SETTLE_TIME); + const uint8_t subscription2[] = {1, static_cast (topic2[0])}; recv_array_expect_success (xpub_proxy, subscription2, ZMQ_DONTWAIT); TEST_ASSERT_SUCCESS_ERRNO ( diff --git a/tests/test_xpub_manual_last_value.cpp b/tests/test_xpub_manual_last_value.cpp index c21be0d1..733e34ae 100644 --- a/tests/test_xpub_manual_last_value.cpp +++ b/tests/test_xpub_manual_last_value.cpp @@ -303,11 +303,6 @@ void test_missing_subscriptions () TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sub1, my_endpoint_backend)); TEST_ASSERT_SUCCESS_ERRNO (zmq_setsockopt (sub1, ZMQ_SUBSCRIBE, topic1, 1)); - // second subscriber - void *sub2 = test_context_socket (ZMQ_SUB); - TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sub2, my_endpoint_backend)); - TEST_ASSERT_SUCCESS_ERRNO (zmq_setsockopt (sub2, ZMQ_SUBSCRIBE, topic2, 1)); - // wait msleep (SETTLE_TIME); @@ -318,6 +313,15 @@ void test_missing_subscriptions () zmq_setsockopt (xpub_proxy, ZMQ_SUBSCRIBE, topic1, 1)); send_array_expect_success (xsub_proxy, subscription1, 0); + // second subscriber + void *sub2 = test_context_socket (ZMQ_SUB); + TEST_ASSERT_SUCCESS_ERRNO (zmq_connect (sub2, my_endpoint_backend)); + TEST_ASSERT_SUCCESS_ERRNO (zmq_setsockopt (sub2, ZMQ_SUBSCRIBE, topic2, 1)); + + // wait + msleep (SETTLE_TIME); + + // proxy now reroutes and confirms subscriptions const uint8_t subscription2[] = {1, static_cast (topic2[0])}; recv_array_expect_success (xpub_proxy, subscription2, ZMQ_DONTWAIT); TEST_ASSERT_SUCCESS_ERRNO (