Skip to content

Commit 11d9029

Browse files
committed
try with no timeout for macos
1 parent 96c227a commit 11d9029

File tree

1 file changed

+25
-4
lines changed

1 file changed

+25
-4
lines changed

test/net/test_tcp_server.cpp

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,14 @@
66

77
#include <iostream>
88

9+
TEST_CASE("tcp_server", "[tcp_server]")
10+
{
11+
std::cerr << "[tcp_server]\n\n";
12+
}
13+
914
TEST_CASE("tcp_server ping server", "[tcp_server]")
1015
{
16+
std::cerr << "BEGIN tcp_server ping server\n";
1117
const std::string client_msg{"Hello from client"};
1218
const std::string server_msg{"Reply from server!"};
1319

@@ -89,10 +95,12 @@ TEST_CASE("tcp_server ping server", "[tcp_server]")
8995

9096
coro::sync_wait(coro::when_all(
9197
make_server_task(scheduler, client_msg, server_msg), make_client_task(scheduler, client_msg, server_msg)));
98+
std::cerr << "END tcp_server ping server\n";
9299
}
93100

94101
TEST_CASE("tcp_server concurrent polling on the same socket", "[tcp_server]")
95102
{
103+
std::cerr << "BEGIN tcp_server concurrent polling on the same socket\n";
96104
// Issue 224: This test duplicates a client and issues two different poll operations per coroutine.
97105

98106
using namespace std::chrono_literals;
@@ -173,32 +181,45 @@ TEST_CASE("tcp_server concurrent polling on the same socket", "[tcp_server]")
173181
auto response = std::move(std::get<1>(result).return_value());
174182

175183
REQUIRE(request == response);
184+
std::cerr << "END tcp_server concurrent polling on the same socket\n";
176185
}
177186

178187
TEST_CASE("tcp_server graceful shutdown via socket", "[tcp_server]")
179188
{
189+
std::cerr << "BEGIN tcp_server graceful shutdown via socket\n";
180190
auto scheduler = coro::io_scheduler::make_shared(coro::io_scheduler::options{
181191
.execution_strategy = coro::io_scheduler::execution_strategy_t::process_tasks_inline});
182192
coro::net::tcp::server server{scheduler};
193+
coro::event started{};
183194

184-
auto make_accept_task = [](coro::net::tcp::server& server) -> coro::task<void>
195+
auto make_accept_task = [](coro::net::tcp::server& server, coro::event& started) -> coro::task<void>
185196
{
186197
std::cerr << "make accept task start\n";
187-
auto poll_result = co_await server.poll(std::chrono::seconds{3});
198+
started.set();
199+
auto poll_result = co_await server.poll();
188200
REQUIRE(poll_result == coro::poll_status::closed);
189201
auto client = server.accept();
190202
REQUIRE_FALSE(client.socket().is_valid());
191203
std::cerr << "make accept task completed\n";
192204
};
193205

194-
scheduler->spawn(make_accept_task(server));
206+
scheduler->spawn(make_accept_task(server, started));
195207

196-
std::this_thread::sleep_for(std::chrono::milliseconds(100));
208+
coro::sync_wait(started);
209+
// we'll wait a bit to make sure the server.poll() is fully registered.
210+
std::this_thread::sleep_for(std::chrono::milliseconds(500));
197211

198212
server.accept_socket().shutdown(coro::poll_op::read_write);
199213

200214
scheduler->shutdown();
215+
std::cerr << "END tcp_server graceful shutdown via socket\n";
201216
}
202217

218+
TEST_CASE("~tcp_server", "[tcp_server]")
219+
{
220+
std::cerr << "[~tcp_server]\n\n";
221+
}
222+
223+
203224
#endif // LIBCORO_FEATURE_NETWORKING
204225

0 commit comments

Comments
 (0)