fix(PollSetTest): avoid looping #1320

This commit is contained in:
Alex Fabijanic
2023-10-25 13:19:01 +02:00
parent b9e5446a6e
commit e47b92d641

View File

@@ -343,28 +343,7 @@ void PollSetTest::testPollNoServer()
ss1.connectNB(SocketAddress("127.0.0.1", 0xFEFE)); ss1.connectNB(SocketAddress("127.0.0.1", 0xFEFE));
ss2.connectNB(SocketAddress("127.0.0.1", 0xFEFF)); ss2.connectNB(SocketAddress("127.0.0.1", 0xFEFF));
PollSet::SocketModeMap sm; assertEqual(2, ps.poll(Timespan(1000000)).size());
int signalledErrors = 0;
Stopwatch sw; sw.start();
do
{
sm = ps.poll(Timespan(1000000));
for (auto s : sm)
{
assertTrue(0 != (s.second & PollSet::POLL_ERROR));
++signalledErrors;
}
sm.clear();
int secs = sw.elapsedSeconds();
if (secs > 10)
{
fail(Poco::format("testPollNoServer() timed out after %ds, "
"sockets signalled=%d (expected 2)",
secs, signalledErrors), __LINE__);
}
} while (signalledErrors < 2);
assertEqual(2, signalledErrors);
} }
@@ -422,21 +401,8 @@ void PollSetTest::testPollClosedServer()
} }
} }
int signalled = 0; assertEqual(2, ps.poll(Timespan(1000000)).size());
sw.restart();
do
{
signalled += static_cast<int>(ps.poll(Timespan(1000000)).size());
int secs = sw.elapsedSeconds();
if (secs > 10)
{
fail(Poco::format("testPollClosedServer() timed out waiting on "
"signalled sockets after %ds, sockets signalled=%d (expected 2)",
secs, signalled), __LINE__);
}
} while (signalled < 2);
assertTrue(signalled == 2);
// socket closed or error // socket closed or error
assertTrue(0 >= ss1.receiveBytes(0, 0)); assertTrue(0 >= ss1.receiveBytes(0, 0));
assertTrue(0 >= ss2.receiveBytes(0, 0)); assertTrue(0 >= ss2.receiveBytes(0, 0));