mirror of
https://github.com/zeromq/cppzmq.git
synced 2025-04-25 09:25:59 +02:00
Problem: no test case for zmq::monitor_t::init
Solution: added test case
This commit is contained in:
parent
e0b5629a28
commit
ec63fb3485
@ -23,11 +23,13 @@ add_executable(
|
|||||||
poller.cpp
|
poller.cpp
|
||||||
active_poller.cpp
|
active_poller.cpp
|
||||||
multipart.cpp
|
multipart.cpp
|
||||||
|
monitor.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(
|
target_link_libraries(
|
||||||
unit_tests
|
unit_tests
|
||||||
PRIVATE gtest_main
|
PRIVATE gtest
|
||||||
|
PRIVATE gmock_main
|
||||||
PRIVATE cppzmq
|
PRIVATE cppzmq
|
||||||
)
|
)
|
||||||
|
|
||||||
|
42
tests/monitor.cpp
Normal file
42
tests/monitor.cpp
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
#include <gtest/gtest.h>
|
||||||
|
#include <gmock/gmock.h>
|
||||||
|
#include <zmq.hpp>
|
||||||
|
|
||||||
|
class mock_monitor_t : public zmq::monitor_t
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
MOCK_METHOD2(on_event_connect_delayed, void(const zmq_event_t &, const char *));
|
||||||
|
MOCK_METHOD2(on_event_connected, void(const zmq_event_t &, const char *));
|
||||||
|
};
|
||||||
|
|
||||||
|
TEST(monitor, create_destroy)
|
||||||
|
{
|
||||||
|
zmq::monitor_t monitor;
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST(monitor, init_check)
|
||||||
|
{
|
||||||
|
zmq::context_t ctx;
|
||||||
|
zmq::socket_t bind_socket(ctx, ZMQ_DEALER);
|
||||||
|
|
||||||
|
bind_socket.bind("tcp://127.0.0.1:*");
|
||||||
|
char endpoint[255];
|
||||||
|
size_t endpoint_len = sizeof(endpoint);
|
||||||
|
bind_socket.getsockopt(ZMQ_LAST_ENDPOINT, &endpoint, &endpoint_len);
|
||||||
|
|
||||||
|
zmq::socket_t connect_socket(ctx, ZMQ_DEALER);
|
||||||
|
|
||||||
|
mock_monitor_t monitor;
|
||||||
|
EXPECT_CALL(monitor, on_event_connect_delayed(testing::_, testing::_))
|
||||||
|
.Times(testing::AtLeast(1));
|
||||||
|
EXPECT_CALL(monitor, on_event_connected(testing::_, testing::_))
|
||||||
|
.Times(testing::AtLeast(1));
|
||||||
|
|
||||||
|
monitor.init(connect_socket, "inproc://foo");
|
||||||
|
|
||||||
|
ASSERT_FALSE(monitor.check_event(0));
|
||||||
|
connect_socket.connect(endpoint);
|
||||||
|
|
||||||
|
while (monitor.check_event(100)) {
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user