Problem: move poller tests are unspecific

Solution: remove redundant assertions (tested elsewhere), and add assertion behaviour of calling wait on moved-from poller
This commit is contained in:
Simon Giesecke 2018-05-11 10:32:02 +02:00
parent bf47be0a0c
commit 89d9db7366

View File

@ -367,28 +367,29 @@ TEST(poller, wait_on_move_constructed_poller)
zmq::poller_t a; zmq::poller_t a;
zmq::poller_t::handler_t handler; zmq::poller_t::handler_t handler;
ASSERT_NO_THROW (a.add (s.server, ZMQ_POLLIN, handler)); ASSERT_NO_THROW (a.add (s.server, ZMQ_POLLIN, handler));
ASSERT_EQ(1u, a.size ());
zmq::poller_t b {std::move (a)}; zmq::poller_t b {std::move (a)};
ASSERT_EQ(1u, b.size ()); ASSERT_EQ(1u, b.size ());
ASSERT_NO_THROW (b.wait (std::chrono::milliseconds {-1})); /// \todo the actual error code should be checked
ASSERT_THROW(a.wait(std::chrono::milliseconds{10}), zmq::error_t);
ASSERT_TRUE (b.wait (std::chrono::milliseconds {-1}));
} }
TEST(poller, wait_on_move_assign_poller) TEST(poller, wait_on_move_assigned_poller)
{ {
server_client_setup s; server_client_setup s;
ASSERT_NO_THROW (s.client.send ("Hi")); ASSERT_NO_THROW (s.client.send ("Hi"));
zmq::poller_t a; zmq::poller_t a;
zmq::poller_t::handler_t handler; zmq::poller_t::handler_t handler;
ASSERT_NO_THROW (a.add (s.server, ZMQ_POLLIN, handler)); ASSERT_NO_THROW (a.add (s.server, ZMQ_POLLIN, handler));
ASSERT_EQ(1u, a.size ());
zmq::poller_t b; zmq::poller_t b;
ASSERT_EQ(0u, b.size ());
b = {std::move (a)}; b = {std::move (a)};
ASSERT_EQ(1u, b.size ()); ASSERT_EQ(1u, b.size ());
ASSERT_NO_THROW (b.wait (std::chrono::milliseconds {-1})); /// \todo the actual error code should be checked
ASSERT_THROW(a.wait(std::chrono::milliseconds{10}), zmq::error_t);
ASSERT_TRUE (b.wait (std::chrono::milliseconds {-1}));
} }
TEST(poller, received_on_move_construced_poller) TEST(poller, received_on_move_constructed_poller)
{ {
// Setup server and client // Setup server and client
server_client_setup s; server_client_setup s;