diff --git a/tests/test_commands.cpp b/tests/test_commands.cpp index 643d736..2a0853b 100644 --- a/tests/test_commands.cpp +++ b/tests/test_commands.cpp @@ -303,10 +303,11 @@ TEST_CASE("send failure callbacks", "[commands][queue_full]") { // Handshake: we send HI, they reply HELLO. client.send(zmq::message_t{"HI", 2}, zmq::send_flags::none); zmq::message_t hello; - client.recv(hello); + auto recvd = client.recv(hello); std::string_view hello_sv{hello.data(), hello.size()}; { auto lock = catch_lock(); + REQUIRE( recvd ); REQUIRE( hello_sv == "HELLO" ); REQUIRE_FALSE( hello.more() ); } diff --git a/tests/test_failures.cpp b/tests/test_failures.cpp index 9aeb7c4..efab861 100644 --- a/tests/test_failures.cpp +++ b/tests/test_failures.cpp @@ -25,21 +25,23 @@ TEST_CASE("failure responses - UNKNOWNCOMMAND", "[failure][UNKNOWNCOMMAND]") { client.send(zmq::message_t{"HI", 2}, zmq::send_flags::none); { zmq::message_t hello; - client.recv(hello); + auto recvd = client.recv(hello); auto lock = catch_lock(); + REQUIRE( recvd ); REQUIRE( hello.to_string() == "HELLO" ); REQUIRE_FALSE( hello.more() ); } client.send(zmq::message_t{"a.a", 3}, zmq::send_flags::none); zmq::message_t resp; - client.recv(resp); + auto recvd = client.recv(resp); auto lock = catch_lock(); + REQUIRE( recvd ); REQUIRE( resp.to_string() == "UNKNOWNCOMMAND" ); REQUIRE( resp.more() ); - client.recv(resp); + REQUIRE( client.recv(resp) ); REQUIRE( resp.to_string() == "a.a" ); REQUIRE_FALSE( resp.more() ); } @@ -66,37 +68,40 @@ TEST_CASE("failure responses - NO_REPLY_TAG", "[failure][NO_REPLY_TAG]") { client.send(zmq::message_t{"HI", 2}, zmq::send_flags::none); { zmq::message_t hello; - client.recv(hello); + auto recvd = client.recv(hello); auto lock = catch_lock(); + REQUIRE( recvd ); REQUIRE( hello.to_string() == "HELLO" ); REQUIRE_FALSE( hello.more() ); } client.send(zmq::message_t{"x.r", 3}, zmq::send_flags::none); zmq::message_t resp; - client.recv(resp); + auto recvd = client.recv(resp); { auto lock = catch_lock(); + REQUIRE( recvd ); REQUIRE( resp.to_string() == "NO_REPLY_TAG" ); REQUIRE( resp.more() ); - client.recv(resp); + REQUIRE( client.recv(resp) ); REQUIRE( resp.to_string() == "x.r" ); REQUIRE_FALSE( resp.more() ); } client.send(zmq::message_t{"x.r", 3}, zmq::send_flags::sndmore); client.send(zmq::message_t{"foo", 3}, zmq::send_flags::none); - client.recv(resp); + recvd = client.recv(resp); { auto lock = catch_lock(); + REQUIRE( recvd ); REQUIRE( resp.to_string() == "REPLY" ); REQUIRE( resp.more() ); - client.recv(resp); + REQUIRE( client.recv(resp) ); REQUIRE( resp.to_string() == "foo" ); REQUIRE( resp.more() ); - client.recv(resp); + REQUIRE( client.recv(resp) ); REQUIRE( resp.to_string() == "a" ); REQUIRE_FALSE( resp.more() ); } @@ -132,9 +137,10 @@ TEST_CASE("failure responses - FORBIDDEN", "[failure][FORBIDDEN]") { client.send(zmq::message_t{"HI", 2}, zmq::send_flags::none); { zmq::message_t hello; - client.recv(hello); + auto recvd = client.recv(hello); auto lock = catch_lock(); + REQUIRE( recvd ); REQUIRE( hello.to_string() == "HELLO" ); REQUIRE_FALSE( hello.more() ); } @@ -144,18 +150,20 @@ TEST_CASE("failure responses - FORBIDDEN", "[failure][FORBIDDEN]") { c.send(zmq::message_t{"x.x", 3}, zmq::send_flags::none); zmq::message_t resp; - clients[0].recv(resp); + auto recvd = clients[0].recv(resp); { auto lock = catch_lock(); + REQUIRE( recvd ); REQUIRE( resp.to_string() == "FORBIDDEN" ); REQUIRE( resp.more() ); - clients[0].recv(resp); + REQUIRE( clients[0].recv(resp) ); REQUIRE( resp.to_string() == "x.x" ); REQUIRE_FALSE( resp.more() ); } for (int i : {1, 2}) { - clients[i].recv(resp); + recvd = clients[i].recv(resp); auto lock = catch_lock(); + REQUIRE( recvd ); REQUIRE( resp.to_string() == "a" ); REQUIRE_FALSE( resp.more() ); } @@ -164,17 +172,19 @@ TEST_CASE("failure responses - FORBIDDEN", "[failure][FORBIDDEN]") { c.send(zmq::message_t{"y.x", 3}, zmq::send_flags::none); for (int i : {0, 1}) { - clients[i].recv(resp); + recvd = clients[i].recv(resp); auto lock = catch_lock(); + REQUIRE( recvd ); REQUIRE( resp.to_string() == "FORBIDDEN" ); REQUIRE( resp.more() ); - clients[i].recv(resp); + REQUIRE( clients[i].recv(resp) ); REQUIRE( resp.to_string() == "y.x" ); REQUIRE_FALSE( resp.more() ); } - clients[2].recv(resp); + recvd = clients[2].recv(resp); { auto lock = catch_lock(); + REQUIRE( recvd ); REQUIRE( resp.to_string() == "b" ); REQUIRE_FALSE( resp.more() ); } @@ -207,9 +217,10 @@ TEST_CASE("failure responses - NOT_A_SERVICE_NODE", "[failure][NOT_A_SERVICE_NOD client.send(zmq::message_t{"HI", 2}, zmq::send_flags::none); { zmq::message_t hello; - client.recv(hello); + auto recvd = client.recv(hello); auto lock = catch_lock(); + REQUIRE( recvd ); REQUIRE( hello.to_string() == "HELLO" ); REQUIRE_FALSE( hello.more() ); } @@ -217,12 +228,13 @@ TEST_CASE("failure responses - NOT_A_SERVICE_NODE", "[failure][NOT_A_SERVICE_NOD client.send(zmq::message_t{"x.x", 3}, zmq::send_flags::none); zmq::message_t resp; - client.recv(resp); + auto recvd = client.recv(resp); { auto lock = catch_lock(); + REQUIRE( recvd ); REQUIRE( resp.to_string() == "NOT_A_SERVICE_NODE" ); REQUIRE( resp.more() ); - client.recv(resp); + REQUIRE( client.recv(resp) ); REQUIRE( resp.to_string() == "x.x" ); REQUIRE_FALSE( resp.more() ); } @@ -230,15 +242,16 @@ TEST_CASE("failure responses - NOT_A_SERVICE_NODE", "[failure][NOT_A_SERVICE_NOD client.send(zmq::message_t{"x.r", 3}, zmq::send_flags::sndmore); client.send(zmq::message_t{"xyz123", 6}, zmq::send_flags::none); // reply tag - client.recv(resp); + recvd = client.recv(resp); { auto lock = catch_lock(); + REQUIRE( recvd ); REQUIRE( resp.to_string() == "NOT_A_SERVICE_NODE" ); REQUIRE( resp.more() ); - client.recv(resp); + REQUIRE( client.recv(resp) ); REQUIRE( resp.to_string() == "REPLY" ); REQUIRE( resp.more() ); - client.recv(resp); + REQUIRE( client.recv(resp) ); REQUIRE( resp.to_string() == "xyz123" ); REQUIRE_FALSE( resp.more() ); } @@ -271,9 +284,10 @@ TEST_CASE("failure responses - FORBIDDEN_SN", "[failure][FORBIDDEN_SN]") { client.send(zmq::message_t{"HI", 2}, zmq::send_flags::none); { zmq::message_t hello; - client.recv(hello); + auto recvd = client.recv(hello); auto lock = catch_lock(); + REQUIRE( recvd ); REQUIRE( hello.to_string() == "HELLO" ); REQUIRE_FALSE( hello.more() ); } @@ -281,12 +295,13 @@ TEST_CASE("failure responses - FORBIDDEN_SN", "[failure][FORBIDDEN_SN]") { client.send(zmq::message_t{"x.x", 3}, zmq::send_flags::none); zmq::message_t resp; - client.recv(resp); + auto recvd = client.recv(resp); { auto lock = catch_lock(); + REQUIRE( recvd ); REQUIRE( resp.to_string() == "FORBIDDEN_SN" ); REQUIRE( resp.more() ); - client.recv(resp); + REQUIRE( client.recv(resp) ); REQUIRE( resp.to_string() == "x.x" ); REQUIRE_FALSE( resp.more() ); } @@ -294,15 +309,16 @@ TEST_CASE("failure responses - FORBIDDEN_SN", "[failure][FORBIDDEN_SN]") { client.send(zmq::message_t{"x.r", 3}, zmq::send_flags::sndmore); client.send(zmq::message_t{"xyz123", 6}, zmq::send_flags::none); // reply tag - client.recv(resp); + recvd = client.recv(resp); { auto lock = catch_lock(); + REQUIRE( recvd ); REQUIRE( resp.to_string() == "FORBIDDEN_SN" ); REQUIRE( resp.more() ); - client.recv(resp); + REQUIRE( client.recv(resp) ); REQUIRE( resp.to_string() == "REPLY" ); REQUIRE( resp.more() ); - client.recv(resp); + REQUIRE( client.recv(resp) ); REQUIRE( resp.to_string() == "xyz123" ); REQUIRE_FALSE( resp.more() ); }