Convert tst_qtcpserver to use docker

Change-Id: Id456fa8ea6ab4f23b6b83c5f6388e96443ccf9e0
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
This commit is contained in:
Mårten Nordheim 2019-02-21 15:16:37 +01:00
parent a247d08fae
commit c47ec42f02
2 changed files with 32 additions and 17 deletions

View File

@ -16,3 +16,9 @@ win32 {
QT = core network testlib QT = core network testlib
MOC_DIR=tmp MOC_DIR=tmp
# Only on Linux until cyrus has been added to docker-compose-for-{windows,macOS}.yml and tested
linux {
QT_TEST_SERVER_LIST = danted cyrus squid ftp-proxy
include($$dirname(_QMAKE_CONF_)/tests/auto/testserver.pri)
}

View File

@ -160,8 +160,15 @@ void tst_QTcpServer::initTestCase_data()
void tst_QTcpServer::initTestCase() void tst_QTcpServer::initTestCase()
{ {
#ifdef QT_TEST_SERVER
QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::socksProxyServerName(), 1080));
QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpProxyServerName(), 3128));
QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::ftpProxyServerName(), 2121));
QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::imapServerName(), 143));
#else
if (!QtNetworkSettings::verifyTestNetworkSettings()) if (!QtNetworkSettings::verifyTestNetworkSettings())
QSKIP("No network test server available"); QSKIP("No network test server available");
#endif
#ifndef QT_NO_BEARERMANAGEMENT #ifndef QT_NO_BEARERMANAGEMENT
QNetworkConfigurationManager man; QNetworkConfigurationManager man;
networkSession = new QNetworkSession(man.defaultConfiguration(), this); networkSession = new QNetworkSession(man.defaultConfiguration(), this);
@ -177,7 +184,7 @@ void tst_QTcpServer::init()
#ifndef QT_NO_NETWORKPROXY #ifndef QT_NO_NETWORKPROXY
QFETCH_GLOBAL(int, proxyType); QFETCH_GLOBAL(int, proxyType);
if (proxyType == QNetworkProxy::Socks5Proxy) { if (proxyType == QNetworkProxy::Socks5Proxy) {
QNetworkProxy::setApplicationProxy(QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::serverName(), 1080)); QNetworkProxy::setApplicationProxy(QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::socksProxyServerName(), 1080));
} }
#else // !QT_NO_NETWORKPROXY #else // !QT_NO_NETWORKPROXY
QSKIP("No proxy support"); QSKIP("No proxy support");
@ -513,7 +520,7 @@ void tst_QTcpServer::waitForConnectionTest()
} }
QTcpSocket findLocalIpSocket; QTcpSocket findLocalIpSocket;
findLocalIpSocket.connectToHost(QtNetworkSettings::serverName(), 143); findLocalIpSocket.connectToHost(QtNetworkSettings::imapServerName(), 143);
QVERIFY(findLocalIpSocket.waitForConnected(5000)); QVERIFY(findLocalIpSocket.waitForConnected(5000));
QTcpServer server; QTcpServer server;
@ -668,16 +675,18 @@ void tst_QTcpServer::invalidProxy_data()
QTest::addColumn<int>("port"); QTest::addColumn<int>("port");
QTest::addColumn<int>("expectedError"); QTest::addColumn<int>("expectedError");
QString fluke = QHostInfo::fromName(QtNetworkSettings::serverName()).addresses().first().toString(); const QString imapIp = QtNetworkSettings::imapServerIp().toString();
QTest::newRow("ftp-proxy") << int(QNetworkProxy::FtpCachingProxy) << fluke << 143 const QString httpProxyIp = QtNetworkSettings::httpProxyServerIp().toString();
const QString socksIp = QtNetworkSettings::socksProxyServerIp().toString();
QTest::newRow("ftp-proxy") << int(QNetworkProxy::FtpCachingProxy) << imapIp << 143
<< int(QAbstractSocket::UnsupportedSocketOperationError); << int(QAbstractSocket::UnsupportedSocketOperationError);
QTest::newRow("http-proxy") << int(QNetworkProxy::HttpProxy) << fluke << 3128 QTest::newRow("http-proxy") << int(QNetworkProxy::HttpProxy) << httpProxyIp << 3128
<< int(QAbstractSocket::UnsupportedSocketOperationError); << int(QAbstractSocket::UnsupportedSocketOperationError);
QTest::newRow("no-such-host") << int(QNetworkProxy::Socks5Proxy) QTest::newRow("no-such-host") << int(QNetworkProxy::Socks5Proxy)
<< "invalid.test.qt-project.org" << 1080 << "invalid.test.qt-project.org" << 1080
<< int(QAbstractSocket::ProxyNotFoundError); << int(QAbstractSocket::ProxyNotFoundError);
QTest::newRow("socks5-on-http") << int(QNetworkProxy::Socks5Proxy) << fluke << 3128 QTest::newRow("socks5-on-http") << int(QNetworkProxy::Socks5Proxy) << httpProxyIp << 3128
<< int(QAbstractSocket::SocketTimeoutError); << int(QAbstractSocket::SocketTimeoutError);
} }
@ -740,48 +749,48 @@ void tst_QTcpServer::proxyFactory_data()
// tests that do get to listen // tests that do get to listen
proxyList << QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::serverName(), 1080); proxyList << QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::socksProxyServerName(), 1080);
QTest::newRow("socks5") QTest::newRow("socks5")
<< proxyList << proxyList.at(0) << proxyList << proxyList.at(0)
<< false << int(QAbstractSocket::UnknownSocketError); << false << int(QAbstractSocket::UnknownSocketError);
proxyList.clear(); proxyList.clear();
proxyList << QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::serverName(), 3128) proxyList << QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::httpProxyServerName(), 3128)
<< QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::serverName(), 1080); << QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::socksProxyServerName(), 1080);
QTest::newRow("cachinghttp+socks5") QTest::newRow("cachinghttp+socks5")
<< proxyList << proxyList.at(1) << proxyList << proxyList.at(1)
<< false << int(QAbstractSocket::UnknownSocketError); << false << int(QAbstractSocket::UnknownSocketError);
proxyList.clear(); proxyList.clear();
proxyList << QNetworkProxy(QNetworkProxy::FtpCachingProxy, QtNetworkSettings::serverName(), 2121) proxyList << QNetworkProxy(QNetworkProxy::FtpCachingProxy, QtNetworkSettings::ftpProxyServerName(), 2121)
<< QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::serverName(), 3128) << QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::httpProxyServerName(), 3128)
<< QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::serverName(), 1080); << QNetworkProxy(QNetworkProxy::Socks5Proxy, QtNetworkSettings::socksProxyServerName(), 1080);
QTest::newRow("ftp+cachinghttp+socks5") QTest::newRow("ftp+cachinghttp+socks5")
<< proxyList << proxyList.at(2) << proxyList << proxyList.at(2)
<< false << int(QAbstractSocket::UnknownSocketError); << false << int(QAbstractSocket::UnknownSocketError);
// tests that fail to listen // tests that fail to listen
proxyList.clear(); proxyList.clear();
proxyList << QNetworkProxy(QNetworkProxy::HttpProxy, QtNetworkSettings::serverName(), 3128); proxyList << QNetworkProxy(QNetworkProxy::HttpProxy, QtNetworkSettings::httpProxyServerName(), 3128);
QTest::newRow("http") QTest::newRow("http")
<< proxyList << proxyList.at(0) << proxyList << proxyList.at(0)
<< true << int(QAbstractSocket::UnsupportedSocketOperationError); << true << int(QAbstractSocket::UnsupportedSocketOperationError);
proxyList.clear(); proxyList.clear();
proxyList << QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::serverName(), 3128); proxyList << QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::httpProxyServerName(), 3128);
QTest::newRow("cachinghttp") QTest::newRow("cachinghttp")
<< proxyList << QNetworkProxy() << proxyList << QNetworkProxy()
<< true << int(QAbstractSocket::UnsupportedSocketOperationError); << true << int(QAbstractSocket::UnsupportedSocketOperationError);
proxyList.clear(); proxyList.clear();
proxyList << QNetworkProxy(QNetworkProxy::FtpCachingProxy, QtNetworkSettings::serverName(), 2121); proxyList << QNetworkProxy(QNetworkProxy::FtpCachingProxy, QtNetworkSettings::ftpProxyServerName(), 2121);
QTest::newRow("ftp") QTest::newRow("ftp")
<< proxyList << QNetworkProxy() << proxyList << QNetworkProxy()
<< true << int(QAbstractSocket::UnsupportedSocketOperationError); << true << int(QAbstractSocket::UnsupportedSocketOperationError);
proxyList.clear(); proxyList.clear();
proxyList << QNetworkProxy(QNetworkProxy::FtpCachingProxy, QtNetworkSettings::serverName(), 2121) proxyList << QNetworkProxy(QNetworkProxy::FtpCachingProxy, QtNetworkSettings::ftpProxyServerName(), 2121)
<< QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::serverName(), 3128); << QNetworkProxy(QNetworkProxy::HttpCachingProxy, QtNetworkSettings::httpProxyServerName(), 3128);
QTest::newRow("ftp+cachinghttp") QTest::newRow("ftp+cachinghttp")
<< proxyList << QNetworkProxy() << proxyList << QNetworkProxy()
<< true << int(QAbstractSocket::UnsupportedSocketOperationError); << true << int(QAbstractSocket::UnsupportedSocketOperationError);