Skip to content
Snippets Groups Projects
Commit 5a3f7add authored by Benny Baumann's avatar Benny Baumann
Browse files

Simplify timeout check

This fixes an interference between different unit tests
parent bb3d9f3c
No related tags found
No related merge requests found
Pipeline #10806 failed
......@@ -26,9 +26,7 @@ const std::string test_string_tcp = "Moin from TCP";
const std::string test_string_udp = "Moin from UDP";
const std::string test_string_unix = "Moin from UNIX";
volatile bool tcp_called = false;
volatile bool udp_called = false;
volatile bool unix_called = false;
volatile bool test_medium_called = false;
int udp_source_family;
......@@ -38,7 +36,7 @@ static void timeout_cb (::ev::timer& w, int revents) {
// Terminate the timer
w.stop();
if (!tcp_called && !udp_called) {
if (!test_medium_called) {
// Report failure
BOOST_CHECK_MESSAGE(false, "Timeout");
}
......@@ -67,7 +65,7 @@ void udp_test_cb(const iorecord& data) {
msg_ss << "Received UDP packet from: " << data.get_address().str();
BOOST_TEST_MESSAGE(msg_ss.str());
BOOST_CHECK_EQUAL(data.get_address().family(), udp_source_family);
udp_called = true;
test_medium_called = true;
}
void run_udp_test() {
......@@ -109,7 +107,7 @@ void run_tcp_test(const socketaddr& interface_addr) {
client->set_incomming_data_callback(
[](const iorecord& data) {
BOOST_CHECK_EQUAL(data.str(), test_string_tcp);
tcp_called = true;
test_medium_called = true;
});
client->write_data(iorecord(test_string_tcp.c_str(), test_string_tcp.length()));
......@@ -140,7 +138,7 @@ void run_unix_test() {
client->set_incomming_data_callback(
[](const iorecord& data) {
BOOST_CHECK_EQUAL(data.str(), test_string_unix);
unix_called = true;
test_medium_called = true;
});
client->write_data(iorecord(test_string_unix.c_str(), test_string_unix.length()));
......@@ -155,6 +153,8 @@ void run_unix_test() {
BOOST_AUTO_TEST_CASE(Netio_Socket_TCP) {
using namespace std::chrono_literals;
test_medium_called = false;
std::thread ev_thread(ev_thread_callable);
const auto interface_addr = get_first_general_socketaddr("127.0.0.1", 9861);
//(void)interface_addr;
......@@ -166,12 +166,14 @@ BOOST_AUTO_TEST_CASE(Netio_Socket_TCP) {
ev_thread.join();
BOOST_CHECK(tcp_called);
BOOST_CHECK(test_medium_called);
}
BOOST_AUTO_TEST_CASE(Netio_Socket_UDP) {
using namespace std::chrono_literals;
test_medium_called = false;
std::thread ev_thread(ev_thread_callable);
BOOST_CHECK_NO_THROW(run_udp_test()); // TODO put in own test while keeping same ev loop setup
......@@ -181,12 +183,14 @@ BOOST_AUTO_TEST_CASE(Netio_Socket_UDP) {
ev_thread.join();
BOOST_CHECK(udp_called);
BOOST_CHECK(test_medium_called);
}
BOOST_AUTO_TEST_CASE(Netio_Socket_UNIX) {
using namespace std::chrono_literals;
test_medium_called = false;
std::thread ev_thread(ev_thread_callable);
BOOST_CHECK_NO_THROW(run_unix_test()); // TODO put in own test while keeping same ev loop setup
......@@ -196,5 +200,5 @@ BOOST_AUTO_TEST_CASE(Netio_Socket_UNIX) {
ev_thread.join();
BOOST_CHECK(unix_called);
BOOST_CHECK(test_medium_called);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment