From f1c6c66985d1ceda16b0f74e91f36b0df44daf58 Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Wed, 22 May 2024 13:59:26 +0300 Subject: [PATCH] Android: prefer wlan IPv6 connection over other interfaces Android doesn't allow connection from interfaces like (radio0, eth0, etc.) when wlan0 is already connected, so prefer testing that. Task-number: QTBUG-125023 Change-Id: Id48a6717755edc22909a4a0d58631d8132a42b1a Reviewed-by: Thiago Macieira --- .../kernel/qnetworkinterface/tst_qnetworkinterface.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/auto/network/kernel/qnetworkinterface/tst_qnetworkinterface.cpp b/tests/auto/network/kernel/qnetworkinterface/tst_qnetworkinterface.cpp index 141ca25021d..e5bbf3467ca 100644 --- a/tests/auto/network/kernel/qnetworkinterface/tst_qnetworkinterface.cpp +++ b/tests/auto/network/kernel/qnetworkinterface/tst_qnetworkinterface.cpp @@ -197,6 +197,14 @@ void tst_QNetworkInterface::localAddress_data() } else if (!ipv6 || entry.prefixLength() != 64) { continue; } else { +#ifdef Q_OS_ANDROID + // Android seem to not allow IPv6 connection from interfaces other than wlan, + // if it's connected, and wlan is connected by default on Android emulators, + // so prefer selecting wlan in this test. + const QString scopeId = addr.scopeId(); + if (!scopeId.isEmpty() && !scopeId.startsWith("wlan")) + continue; +#endif // add a random node in this IPv6 network quint64 randomid = qFromBigEndian(Q_UINT64_C(0x8f41f072e5733caa)); QIPv6Address ip6 = addr.toIPv6Address();