Autotest: use QUdpSocket instead of QTcpSocket in tst_QNetworkInterface
We don't need to bother the network test server with a TCP SYN packet. All we need is for the local operating system to figure out the IP address it would use to send a packet to the test server. We can do that with QUdpSocket. Also, the network test server hasn't been called "fluke.troll.no" for almost a decade. Change-Id: I209fcd5dbc2b4e5381cffffd14df65ccc7133247 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
This commit is contained in:
parent
6aa001570d
commit
5d48143ff8
@ -32,7 +32,7 @@
|
||||
|
||||
#include <qcoreapplication.h>
|
||||
#include <qnetworkinterface.h>
|
||||
#include <qtcpsocket.h>
|
||||
#include <qudpsocket.h>
|
||||
#ifndef QT_NO_BEARERMANAGEMENT
|
||||
#include <QNetworkConfigurationManager>
|
||||
#include <QNetworkSession>
|
||||
@ -189,17 +189,12 @@ void tst_QNetworkInterface::loopbackIPv6()
|
||||
|
||||
void tst_QNetworkInterface::localAddress()
|
||||
{
|
||||
QTcpSocket socket;
|
||||
QUdpSocket socket;
|
||||
socket.connectToHost(QtNetworkSettings::serverName(), 80);
|
||||
QVERIFY(socket.waitForConnected(5000));
|
||||
|
||||
QHostAddress local = socket.localAddress();
|
||||
|
||||
// make Apache happy on fluke
|
||||
socket.write("GET / HTTP/1.0\r\n\r\n");
|
||||
socket.waitForBytesWritten(1000);
|
||||
socket.close();
|
||||
|
||||
// test that we can find the address that QTcpSocket reported
|
||||
QList<QHostAddress> all = QNetworkInterface::allAddresses();
|
||||
QVERIFY(all.contains(local));
|
||||
|
Loading…
Reference in New Issue
Block a user