13#include <boost/asio/ip/tcp.hpp>
21using namespace std::chrono_literals;
25 std::size_t CountThreads() {
26 return static_cast<std::size_t
>(
27 std::distance(std::filesystem::directory_iterator(
"/proc/self/task"), {}));
32TEST(multigpu_secondary, retrying_a_refused_connection_does_not_add_threads) {
35 constexpr auto first_attempt = 500ms;
36 constexpr auto retry_window = 3000ms;
38 std::uint16_t unused_port = 0u;
40 boost::asio::io_context io_context;
41 boost::asio::ip::tcp::acceptor acceptor(
43 boost::asio::ip::tcp::endpoint(boost::asio::ip::address_v4::loopback(), 0));
44 unused_port = acceptor.local_endpoint().port();
49 std::this_thread::sleep_for(first_attempt);
50 const auto threads_after_first_attempt = CountThreads();
51 std::this_thread::sleep_for(retry_window);
52 const auto threads_after_retries = CountThreads();
55 ASSERT_EQ(threads_after_retries, threads_after_first_attempt);
TEST(agents_types, road_option_values_match_python)