CI: Add docker support for tst_platformsocketengine test

Currently test relies solely for external test server. This makes it
not possible to run test successfully with environment where docker is
used.

Pick-to: 6.2 6.3
Change-Id: Ie2974a0e2fec9b16d9d023730b76fa2a32f77e65
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
bb10
Pasi Petäjäjärvi 2022-02-18 16:03:35 +02:00
parent 30d55abbac
commit 055fd403c4
2 changed files with 8 additions and 3 deletions

View File

@ -14,6 +14,7 @@ qt_internal_add_test(tst_platformsocketengine
PUBLIC_LIBRARIES
Qt::CorePrivate
Qt::NetworkPrivate
QT_TEST_SERVER_LIST "cyrus" # special case
)
#### Keys ignored in scope 1:.:.:platformsocketengine.pro:<TRUE>:

View File

@ -81,8 +81,12 @@ private slots:
void tst_PlatformSocketEngine::initTestCase()
{
#ifdef QT_TEST_SERVER
QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::imapServerName(), 143));
#else
if (!QtNetworkSettings::verifyTestNetworkSettings())
QSKIP("No network test server available");
#endif
}
//---------------------------------------------------------------------------
@ -122,14 +126,14 @@ void tst_PlatformSocketEngine::simpleConnectToIMAP()
QVERIFY(socketDevice.initialize(QAbstractSocket::TcpSocket, QAbstractSocket::IPv4Protocol));
QCOMPARE(socketDevice.state(), QAbstractSocket::UnconnectedState);
const bool isConnected = socketDevice.connectToHost(QtNetworkSettings::serverIP(), 143);
const bool isConnected = socketDevice.connectToHost(QtNetworkSettings::imapServerIp(), 143);
if (!isConnected) {
QCOMPARE(socketDevice.state(), QAbstractSocket::ConnectingState);
QVERIFY(socketDevice.waitForWrite());
QCOMPARE(socketDevice.state(), QAbstractSocket::ConnectedState);
}
QCOMPARE(socketDevice.state(), QAbstractSocket::ConnectedState);
QCOMPARE(socketDevice.peerAddress(), QtNetworkSettings::serverIP());
QCOMPARE(socketDevice.peerAddress(), QtNetworkSettings::imapServerIp());
// Wait for the greeting
QVERIFY(socketDevice.waitForRead());
@ -567,7 +571,7 @@ void tst_PlatformSocketEngine::networkError()
QVERIFY(client.initialize(QAbstractSocket::TcpSocket, QAbstractSocket::IPv4Protocol));
const bool isConnected = client.connectToHost(QtNetworkSettings::serverIP(), 143);
const bool isConnected = client.connectToHost(QtNetworkSettings::imapServerIp(), 143);
if (!isConnected) {
QCOMPARE(client.state(), QAbstractSocket::ConnectingState);
QVERIFY(client.waitForWrite());