From c19d532393f54229173fd6c0adcce041fa4fd635 Mon Sep 17 00:00:00 2001 From: Sami Nurmenniemi Date: Fri, 2 Feb 2018 16:46:03 +0200 Subject: Fix tst_QTcpServer::maxPendingConnections flakiness Task-number: QTBUG-63152 Change-Id: I5ccd07f31d47048d81e85f69e1327f4f7c760257 Reviewed-by: Timur Pocheptsov --- tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp b/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp index 31f82539aa..161d94d642 100644 --- a/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp +++ b/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp @@ -420,13 +420,20 @@ void tst_QTcpServer::maxPendingConnections() QTcpSocket socket2; QTcpSocket socket3; + QSignalSpy spy(&server, SIGNAL(newConnection())); QVERIFY(server.listen()); socket1.connectToHost(QHostAddress::LocalHost, server.serverPort()); socket2.connectToHost(QHostAddress::LocalHost, server.serverPort()); socket3.connectToHost(QHostAddress::LocalHost, server.serverPort()); - QVERIFY(server.waitForNewConnection(5000)); + // We must have two and only two connections. First compare waits until + // two connections have been made. The second compare makes sure no + // more are accepted. Creating connections happens multithreaded so + // qWait must be used for that. + QTRY_COMPARE(spy.count(), 2); + QTest::qWait(100); + QCOMPARE(spy.count(), 2); QVERIFY(server.hasPendingConnections()); QVERIFY(server.nextPendingConnection()); -- cgit v1.2.3