summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorPasi Petäjäjärvi <pasi.petajajarvi@qt.io>2022-02-24 10:09:31 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-03-10 08:23:48 +0000
commit1a933c8dcb34aafd5470de8eb0b8c27a0db4eb06 (patch)
treefb524413cd79261302f6467218b48222e762717e /tests
parent5e487d398d83a5e3681537148405758362b7e94b (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.h4
-rw-r--r--tests/auto/network/kernel/qnetworkinterface/tst_qnetworkinterface.cpp11
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()