diff options
author | Pasi Petäjäjärvi <pasi.petajajarvi@qt.io> | 2022-02-24 10:09:31 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-03-10 08:23:48 +0000 |
commit | 1a933c8dcb34aafd5470de8eb0b8c27a0db4eb06 (patch) | |
tree | fb524413cd79261302f6467218b48222e762717e /tests | |
parent | 5e487d398d83a5e3681537148405758362b7e94b (diff) |
Fix check for IPV6 support without certain features
Without features getifaddrs and ipv6ifname we cannot
get correct IPV6 information for interfaces.
Change-Id: I7f8c4e68d345160d218fde8db640440f3324014e
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit d0d1d7403377363a101d4f1781d06a9b44787d0a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/network-settings.h | 4 | ||||
-rw-r--r-- | tests/auto/network/kernel/qnetworkinterface/tst_qnetworkinterface.cpp | 11 |
2 files changed, 12 insertions, 3 deletions
diff --git a/tests/auto/network-settings.h b/tests/auto/network-settings.h index d261c4afb5..99a30f51f7 100644 --- a/tests/auto/network-settings.h +++ b/tests/auto/network-settings.h @@ -118,6 +118,7 @@ public: static bool hasIPv6() { #ifdef Q_OS_UNIX + #if !defined(QT_NO_GETIFADDRS) && !defined(QT_NO_IPV6IFNAME) int s = ::socket(AF_INET6, SOCK_DGRAM, 0); if (s == -1) return false; @@ -132,6 +133,9 @@ public: } } ::close(s); + #else + return false; + #endif #endif return true; } diff --git a/tests/auto/network/kernel/qnetworkinterface/tst_qnetworkinterface.cpp b/tests/auto/network/kernel/qnetworkinterface/tst_qnetworkinterface.cpp index e18c50afbd..b5beee5499 100644 --- a/tests/auto/network/kernel/qnetworkinterface/tst_qnetworkinterface.cpp +++ b/tests/auto/network/kernel/qnetworkinterface/tst_qnetworkinterface.cpp @@ -71,9 +71,14 @@ tst_QNetworkInterface::~tst_QNetworkInterface() bool tst_QNetworkInterface::isIPv6Working() { - QUdpSocket socket; - socket.connectToHost(QHostAddress::LocalHostIPv6, 1234); - return socket.state() == QAbstractSocket::ConnectedState || socket.waitForConnected(100); + // Version without following cannot get IPV6 information + #if !defined(QT_NO_GETIFADDRS) && !defined(QT_NO_IPV6IFNAME) + QUdpSocket socket; + socket.connectToHost(QHostAddress::LocalHostIPv6, 1234); + return socket.state() == QAbstractSocket::ConnectedState || socket.waitForConnected(100); + #else + return false; + #endif } void tst_QNetworkInterface::initTestCase() |