From 64d6b59e553588a1444013fb0cd6ea7969f68cf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= <3044353+fikumikudev@users.noreply.github.com> Date: Sun, 21 Aug 2022 13:14:28 +0200 Subject: [PATCH] Assert no error code when calling `system::poll_until_true` (#3895) --- nano/test_common/system.cpp | 58 ++++++++++++++++++++++--------------- 1 file changed, 35 insertions(+), 23 deletions(-) diff --git a/nano/test_common/system.cpp b/nano/test_common/system.cpp index 7593f80be..0913d445a 100644 --- a/nano/test_common/system.cpp +++ b/nano/test_common/system.cpp @@ -71,40 +71,52 @@ std::shared_ptr nano::test::system::add_node (nano::node_config cons (*j)->network.send_keepalive (channel); } - poll_until_true (3s, [&node1, &node2, starting_size_1, starting_size_2] () { - auto size_1 = node1->network.size (); - auto size_2 = node2->network.size (); - return size_1 > starting_size_1 && size_2 > starting_size_2; - }); + { + auto ec = poll_until_true (3s, [&node1, &node2, starting_size_1, starting_size_2] () { + auto size_1 = node1->network.size (); + auto size_2 = node2->network.size (); + return size_1 > starting_size_1 && size_2 > starting_size_2; + }); + debug_assert (!ec); + } if (type_a == nano::transport::transport_type::tcp && node_config_a.tcp_incoming_connections_max != 0 && !node_flags_a.disable_tcp_realtime) { - // Wait for initial connection finish - poll_until_true (3s, [&node1, &node2, starting_realtime_1, starting_realtime_2] () { - auto realtime_1 = node1->bootstrap.realtime_count.load (); - auto realtime_2 = node2->bootstrap.realtime_count.load (); - return realtime_1 > starting_realtime_1 && realtime_2 > starting_realtime_2; - }); - - // Wait for keepalive message exchange - poll_until_true (3s, [&node1, &node2, starting_keepalives_1, starting_keepalives_2] () { - auto keepalives_1 = node1->stats.count (stat::type::message, stat::detail::keepalive, stat::dir::in); - auto keepalives_2 = node2->stats.count (stat::type::message, stat::detail::keepalive, stat::dir::in); - return keepalives_1 > starting_keepalives_1 && keepalives_2 > starting_keepalives_2; - }); + { + // Wait for initial connection finish + auto ec = poll_until_true (3s, [&node1, &node2, starting_realtime_1, starting_realtime_2] () { + auto realtime_1 = node1->bootstrap.realtime_count.load (); + auto realtime_2 = node2->bootstrap.realtime_count.load (); + return realtime_1 > starting_realtime_1 && realtime_2 > starting_realtime_2; + }); + debug_assert (!ec); + } + { + // Wait for keepalive message exchange + auto ec = poll_until_true (3s, [&node1, &node2, starting_keepalives_1, starting_keepalives_2] () { + auto keepalives_1 = node1->stats.count (stat::type::message, stat::detail::keepalive, stat::dir::in); + auto keepalives_2 = node2->stats.count (stat::type::message, stat::detail::keepalive, stat::dir::in); + return keepalives_1 > starting_keepalives_1 && keepalives_2 > starting_keepalives_2; + }); + debug_assert (!ec); + } } } - // Ensure no bootstrap initiators are in progress - poll_until_true (3s, [this, &begin] () { - return std::all_of (begin, nodes.end (), [] (std::shared_ptr const & node_a) { return !node_a->bootstrap_initiator.in_progress (); }); - }); + { + // Ensure no bootstrap initiators are in progress + auto ec = poll_until_true (3s, [this, &begin] () { + return std::all_of (begin, nodes.end (), [] (std::shared_ptr const & node_a) { return !node_a->bootstrap_initiator.in_progress (); }); + }); + debug_assert (!ec); + } } else { - poll_until_true (3s, [&node] () { + auto ec = poll_until_true (3s, [&node] () { return !node->bootstrap_initiator.in_progress (); }); + debug_assert (!ec); } return node;