Disable unit testing setting up QTcpServer on special Apple interfaces

The iBridge interface is used for the keyboard touch bar, and the Apple
Wireless Direct Link interfaces are used by Apple for various purposes.
Setting up a server on these interfaces does not work.
Only the tst_QTcpServer::linkLocal unit test on macOS is affected by
this change.

Fixes: QTBUG-103892
Change-Id: Ic934823aa0c05e7cef7d3668d9c11f1bf6701809
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit 1c563035c7b66349018898cb880ffef8c002a545)
Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
This commit is contained in:
Øystein Heskestad 2022-07-08 16:15:31 +02:00
parent 7314ac91fd
commit d4c95e467f

View File

@ -945,6 +945,12 @@ void tst_QTcpServer::linkLocal()
// (we don't know why) // (we don't know why)
if (iface.name().startsWith("utun")) if (iface.name().startsWith("utun"))
continue; 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 #endif
foreach (QNetworkAddressEntry addressEntry, iface.addressEntries()) { foreach (QNetworkAddressEntry addressEntry, iface.addressEntries()) {
QHostAddress addr = addressEntry.ip(); QHostAddress addr = addressEntry.ip();