Skip to content

Commit aa8d9b8

Browse files
authored
Merge pull request #99960 from pafuent/fixing_tcp_server_flappy_disconnect_test
Fix `TCPServer` "Should disconnect client" test
2 parents eb51030 + df2c2ca commit aa8d9b8

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

tests/core/io/test_tcp_server.h

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ Error poll(Ref<StreamPeerTCP> p_client) {
8585
const uint64_t time = OS::get_singleton()->get_ticks_usec();
8686
Error err = p_client->poll();
8787
while (err != Error::OK && (OS::get_singleton()->get_ticks_usec() - time) < MAX_WAIT_USEC) {
88-
err = p_client->poll();
8988
OS::get_singleton()->delay_usec(SLEEP_DURATION);
89+
err = p_client->poll();
9090
}
9191
return err;
9292
}
@@ -183,8 +183,8 @@ TEST_CASE("[TCPServer] When stopped shouldn't accept new connections") {
183183
time = OS::get_singleton()->get_ticks_usec();
184184
Error err = new_client->poll();
185185
while (err != Error::OK && err != Error::ERR_CONNECTION_ERROR && (OS::get_singleton()->get_ticks_usec() - time) < MAX_WAIT_USEC) {
186-
err = new_client->poll();
187186
OS::get_singleton()->delay_usec(SLEEP_DURATION);
187+
err = new_client->poll();
188188
}
189189
REQUIRE((err == Error::OK || err == Error::ERR_CONNECTION_ERROR));
190190
StreamPeerTCP::Status status = new_client->get_status();
@@ -210,7 +210,10 @@ TEST_CASE("[TCPServer] Should disconnect client") {
210210
server->stop();
211211
CHECK_FALSE(server->is_listening());
212212

213-
client->put_string(hello_world);
213+
// Reading for a closed connection will print an error.
214+
ERR_PRINT_OFF;
215+
CHECK_EQ(client->get_string(), String());
216+
ERR_PRINT_ON;
214217
REQUIRE_EQ(poll(client), Error::OK);
215218
CHECK_EQ(client->get_status(), StreamPeerTCP::STATUS_NONE);
216219
}

0 commit comments

Comments
 (0)