diff options
Diffstat (limited to 'tests/auto/network/socket')
8 files changed, 54 insertions, 16 deletions
diff --git a/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp b/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp index e172c255a7..a4685b59c7 100644 --- a/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp +++ b/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp @@ -1267,6 +1267,7 @@ void tst_QLocalSocket::syncDisconnectNotify() QVERIFY(serverSocket); delete serverSocket; QCOMPARE(client.waitForReadyRead(), false); + QVERIFY(!client.putChar(0)); } void tst_QLocalSocket::asyncDisconnectNotify() diff --git a/tests/auto/network/socket/qsocks5socketengine/BLACKLIST b/tests/auto/network/socket/qsocks5socketengine/BLACKLIST index 61fff6ee00..74a73fcb4b 100644 --- a/tests/auto/network/socket/qsocks5socketengine/BLACKLIST +++ b/tests/auto/network/socket/qsocks5socketengine/BLACKLIST @@ -2,6 +2,7 @@ * [passwordAuth] ubuntu-18.04 +ubuntu-20.04 # QTBUG-74162 [passwordAuth2] ubuntu @@ -9,3 +10,6 @@ ubuntu windows-10 msvc-2015 windows-7sp1 +# QTBUG-96345 +[simpleConnectToIMAP] +ubuntu diff --git a/tests/auto/network/socket/qtcpserver/BLACKLIST b/tests/auto/network/socket/qtcpserver/BLACKLIST index e268468bdb..c6d4d49908 100644 --- a/tests/auto/network/socket/qtcpserver/BLACKLIST +++ b/tests/auto/network/socket/qtcpserver/BLACKLIST @@ -14,3 +14,6 @@ windows-10 windows-7sp1 windows-10 +[linkLocal] +macos arm + diff --git a/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp b/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp index 849d8b0ed1..a4585c26bd 100644 --- a/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp +++ b/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp @@ -958,6 +958,12 @@ void tst_QTcpServer::linkLocal() // (we don't know why) if (iface.name().startsWith("utun")) continue; + // Do not use the iBridge interfae + if (iface.hardwareAddress() == "AC:DE:48:00:11:22") + continue; + // Do no use the Apple Wireless Direct Link interfaces + if (iface.name().startsWith("awdl")) + continue; #endif foreach (QNetworkAddressEntry addressEntry, iface.addressEntries()) { QHostAddress addr = addressEntry.ip(); diff --git a/tests/auto/network/socket/qtcpsocket/BLACKLIST b/tests/auto/network/socket/qtcpsocket/BLACKLIST index 129e9f0b4e..fb57715a49 100644 --- a/tests/auto/network/socket/qtcpsocket/BLACKLIST +++ b/tests/auto/network/socket/qtcpsocket/BLACKLIST @@ -2,3 +2,5 @@ windows # QTBUG-66247 +[bind] +macos arm diff --git a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp index 6dd390ccbd..0a58a5cf3b 100644 --- a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp +++ b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp @@ -80,6 +80,8 @@ #include <unistd.h> #endif +#include <memory> + #include "private/qhostinfo_p.h" #include "../../../network-settings.h" @@ -2091,33 +2093,51 @@ void tst_QTcpSocket::nestedEventLoopInErrorSlot() void tst_QTcpSocket::connectToHostError_data() { QTest::addColumn<QString>("host"); - QTest::addColumn<int>("port"); + QTest::addColumn<quint16>("port"); QTest::addColumn<QAbstractSocket::SocketError>("expectedError"); - QTest::newRow("localhost no service") << QStringLiteral("localhost") << 31415 << QAbstractSocket::ConnectionRefusedError; - QTest::newRow("unreachable") << QStringLiteral("0.0.0.1") << 65000 << QAbstractSocket::NetworkError; + QTest::newRow("localhost no service") << QStringLiteral("localhost") << quint16(31415) << QAbstractSocket::ConnectionRefusedError; + QTest::newRow("unreachable") << QStringLiteral("0.0.0.1") << quint16(65000) << QAbstractSocket::NetworkError; } void tst_QTcpSocket::connectToHostError() { - QTcpSocket *socket = newSocket(); + // We are aware of at least one OS in our CI, that would fail + // the test due to timeout - it's Ubuntu 20.04 and 'connect' + // to 0.0.0.1 there return EINPROGRESS, with no other error + // ever received, so only our own internal 30 s. timer can + // detect a connection timeout. + + std::unique_ptr<QTcpSocket> socket(newSocket()); QAbstractSocket::SocketError error = QAbstractSocket::UnknownSocketError; - QFETCH(QString, host); - QFETCH(int, port); + QFETCH(const QString, host); + QFETCH(const quint16, port); QFETCH(QAbstractSocket::SocketError, expectedError); - connect(socket, &QAbstractSocket::errorOccurred, [&](QAbstractSocket::SocketError socketError){ + QTestEventLoop eventLoop; + connect(socket.get(), &QAbstractSocket::errorOccurred, socket.get(), + [&](QAbstractSocket::SocketError socketError) { error = socketError; + QTimer::singleShot(0, &eventLoop, [&]{eventLoop.exitLoop();}); }); - socket->connectToHost(host, port); // no service running here, one suspects - QTRY_COMPARE(socket->state(), QTcpSocket::UnconnectedState); + + socket->connectToHost(host, port); + eventLoop.enterLoopMSecs(7000); + if (eventLoop.timeout() && port == 65000) { + // Let's at least verify it's not in connected state: + QVERIFY(socket->state() != QAbstractSocket::ConnectedState); + QSKIP("Connection to unreachable host timed out, skipping the rest of the test"); + } + + QCOMPARE(socket->state(), QTcpSocket::UnconnectedState); + if (error != expectedError && error == QAbstractSocket::ConnectionRefusedError) QEXPECT_FAIL("unreachable", "CI firewall interfers with this test", Continue); + QCOMPARE(error, expectedError); - delete socket; } //---------------------------------------------------------------------------------- @@ -2200,7 +2220,7 @@ public slots: #if defined(Q_OS_MAC) pthread_yield_np(); #elif defined Q_OS_LINUX && !defined Q_OS_ANDROID - pthread_yield(); + sched_yield(); #endif if (!sock->waitForConnected()) { networkTimeout = true; diff --git a/tests/auto/network/socket/qudpsocket/BLACKLIST b/tests/auto/network/socket/qudpsocket/BLACKLIST index 109bd4b643..690d814a2c 100644 --- a/tests/auto/network/socket/qudpsocket/BLACKLIST +++ b/tests/auto/network/socket/qudpsocket/BLACKLIST @@ -1,11 +1,13 @@ [writeDatagramToNonExistingPeer] -windows-10 msvc-2019 -windows-10 msvc-2017 -windows-10 msvc-2015 -windows-7sp1 +# QTBUG-85364 QTBUG-74542 QTBUG-80328 +windows [readyReadForEmptyDatagram] opensuse-leap [echo] opensuse-42.3 [readyReadForEmptyDatagram] linux +[multicast] +macos arm +[linkLocalIPv6] +macos arm diff --git a/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp b/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp index 4c4113d9d4..15c74f1319 100644 --- a/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp +++ b/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp @@ -646,7 +646,7 @@ void tst_QUdpSocket::dualStack() QCOMPARE(dgram.senderAddress(), makeNonAny(v4Sock.localAddress(), QHostAddress::Null)); if (dgram.destinationPort() != -1) { QCOMPARE(dgram.destinationPort(), int(dualSock.localPort())); - QVERIFY(dgram.destinationAddress().isEqual(dualSock.localAddress())); + QVERIFY(dgram.destinationAddress().isEqual(makeNonAny(dualSock.localAddress(), QHostAddress::LocalHost))); } else { qInfo("Getting IPv4 destination address failed."); } |