summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/auto/network/socket/platformsocketengine/tst_platformsocketengine.cpp16
-rw-r--r--tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp12
2 files changed, 22 insertions, 6 deletions
diff --git a/tests/auto/network/socket/platformsocketengine/tst_platformsocketengine.cpp b/tests/auto/network/socket/platformsocketengine/tst_platformsocketengine.cpp
index 5be00630ca..1ef9382f0a 100644
--- a/tests/auto/network/socket/platformsocketengine/tst_platformsocketengine.cpp
+++ b/tests/auto/network/socket/platformsocketengine/tst_platformsocketengine.cpp
@@ -530,11 +530,17 @@ void tst_PlatformSocketEngine::tooManySockets()
void tst_PlatformSocketEngine::bind()
{
#if !defined Q_OS_WIN
- PLATFORMSOCKETENGINE binder;
- QVERIFY(binder.initialize(QAbstractSocket::TcpSocket, QAbstractSocket::IPv4Protocol));
- QVERIFY(!binder.bind(QHostAddress::AnyIPv4, 82));
- QCOMPARE(binder.error(), QAbstractSocket::SocketAccessError);
-#endif
+#if defined Q_OS_MACOS
+ // On macOS >= 10.14 the bind on this port is successful.
+ if (QOperatingSystemVersion::current() < QOperatingSystemVersion::MacOSMojave)
+#endif // Q_OS_MACOS
+ {
+ PLATFORMSOCKETENGINE binder;
+ QVERIFY(binder.initialize(QAbstractSocket::TcpSocket, QAbstractSocket::IPv4Protocol));
+ QVERIFY(!binder.bind(QHostAddress::AnyIPv4, 82));
+ QCOMPARE(binder.error(), QAbstractSocket::SocketAccessError);
+ }
+#endif // Q_OS_WIN
PLATFORMSOCKETENGINE binder2;
QVERIFY(binder2.initialize(QAbstractSocket::TcpSocket, QAbstractSocket::IPv4Protocol));
diff --git a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
index 9ab5e88900..bf08d70eb3 100644
--- a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
+++ b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
@@ -558,8 +558,18 @@ void tst_QTcpSocket::bind_data()
// try to bind to a privileged ports
// we should fail if we're not root (unless the ports are in use!)
QTest::newRow("127.0.0.1:1") << "127.0.0.1" << 1 << !geteuid() << (geteuid() ? QString() : "127.0.0.1");
- if (testIpv6)
+ if (testIpv6) {
+#ifdef Q_OS_DARWIN
+ // This case is faling in different ways, first, it manages to bind to
+ // port 1 on macOS >= 10.14, but if we change the logic to not fail,
+ // it's becoming flaky and sometimes fails to bind, with error 'port in use'
+ // (apparently inflicted by the previous test row with 127.0.0.1). Amen.
+ if (QOperatingSystemVersion::current() >= QOperatingSystemVersion::MacOSMojave)
+ QTest::qWarn("Skipping [::]:1, see QTBUG-81905", __FILE__, __LINE__);
+ else
+#endif // Q_OS_DARWIN
QTest::newRow("[::]:1") << "::" << 1 << !geteuid() << (geteuid() ? QString() : "::");
+ }
#endif
}