From 265cda469fa95b2b8336a3597652512fa97150fb Mon Sep 17 00:00:00 2001 From: Oliver Wolff Date: Fri, 31 Jul 2015 14:56:05 +0200 Subject: tst_qudpsocket: Do not crash if no testserver address could be found Change-Id: Ica61974b20b848997c8ab101abde4b536814ba83 Reviewed-by: Andrew Knight --- tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp') diff --git a/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp b/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp index 080f763f54..d14602acd9 100644 --- a/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp +++ b/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp @@ -848,7 +848,11 @@ void tst_QUdpSocket::writeDatagramToNonExistingPeer_data() QTest::addColumn("bind"); QTest::addColumn("peerAddress"); QHostAddress localhost(QHostAddress::LocalHost); - QHostAddress remote = QHostInfo::fromName(QtNetworkSettings::serverName()).addresses().first(); + QList serverAddresses(QHostInfo::fromName(QtNetworkSettings::serverName()).addresses()); + if (serverAddresses.isEmpty()) + return; + + QHostAddress remote = serverAddresses.first(); QTest::newRow("localhost-unbound") << false << localhost; QTest::newRow("localhost-bound") << true << localhost; @@ -858,6 +862,8 @@ void tst_QUdpSocket::writeDatagramToNonExistingPeer_data() void tst_QUdpSocket::writeDatagramToNonExistingPeer() { + if (QHostInfo::fromName(QtNetworkSettings::serverName()).addresses().isEmpty()) + QFAIL("Could not find test server address"); QFETCH(bool, bind); QFETCH(QHostAddress, peerAddress); @@ -879,7 +885,11 @@ void tst_QUdpSocket::writeToNonExistingPeer_data() { QTest::addColumn("peerAddress"); QHostAddress localhost(QHostAddress::LocalHost); - QHostAddress remote = QHostInfo::fromName(QtNetworkSettings::serverName()).addresses().first(); + QList serverAddresses(QHostInfo::fromName(QtNetworkSettings::serverName()).addresses()); + if (serverAddresses.isEmpty()) + return; + + QHostAddress remote = serverAddresses.first(); // write (required to be connected) QTest::newRow("localhost") << localhost; QTest::newRow("remote") << remote; @@ -888,6 +898,8 @@ void tst_QUdpSocket::writeToNonExistingPeer_data() void tst_QUdpSocket::writeToNonExistingPeer() { QSKIP("Connected-mode UDP sockets and their behaviour are erratic"); + if (QHostInfo::fromName(QtNetworkSettings::serverName()).addresses().isEmpty()) + QFAIL("Could not find test server address"); QFETCH(QHostAddress, peerAddress); quint16 peerPort = 34534; qRegisterMetaType("QAbstractSocket::SocketError"); -- cgit v1.2.3 From ec4426fadaf3753096e1c3e6f770962f3c34d176 Mon Sep 17 00:00:00 2001 From: Oliver Wolff Date: Fri, 31 Jul 2015 14:56:35 +0200 Subject: WinRT: Skip unsupported multicast UDP socket tests Change-Id: I69f756ad829569060ae9931748b940842d23a6ea Reviewed-by: Andrew Knight --- .../auto/network/socket/qudpsocket/tst_qudpsocket.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp') diff --git a/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp b/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp index d14602acd9..b6129bec08 100644 --- a/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp +++ b/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp @@ -1126,6 +1126,9 @@ void tst_QUdpSocket::multicastTtlOption_data() void tst_QUdpSocket::multicastTtlOption() { +#ifdef Q_OS_WINRT + QSKIP("WinRT does not support multicast."); +#endif QFETCH_GLOBAL(bool, setProxy); QFETCH(QHostAddress, bindAddress); QFETCH(int, ttl); @@ -1168,6 +1171,9 @@ void tst_QUdpSocket::multicastLoopbackOption_data() void tst_QUdpSocket::multicastLoopbackOption() { +#ifdef Q_OS_WINRT + QSKIP("WinRT does not support multicast."); +#endif QFETCH_GLOBAL(bool, setProxy); QFETCH(QHostAddress, bindAddress); QFETCH(int, loopback); @@ -1198,6 +1204,9 @@ void tst_QUdpSocket::multicastJoinBeforeBind_data() void tst_QUdpSocket::multicastJoinBeforeBind() { +#ifdef Q_OS_WINRT + QSKIP("WinRT does not support multicast."); +#endif QFETCH(QHostAddress, groupAddress); QUdpSocket udpSocket; @@ -1218,6 +1227,9 @@ void tst_QUdpSocket::multicastLeaveAfterClose_data() void tst_QUdpSocket::multicastLeaveAfterClose() { +#ifdef Q_OS_WINRT + QSKIP("WinRT does not support multicast."); +#endif QFETCH_GLOBAL(bool, setProxy); QFETCH(QHostAddress, groupAddress); if (setProxy) @@ -1259,6 +1271,9 @@ void tst_QUdpSocket::setMulticastInterface_data() void tst_QUdpSocket::setMulticastInterface() { +#ifdef Q_OS_WINRT + QSKIP("WinRT does not support multicast."); +#endif QFETCH_GLOBAL(bool, setProxy); QFETCH(QNetworkInterface, iface); QFETCH(QHostAddress, address); @@ -1307,6 +1322,9 @@ void tst_QUdpSocket::multicast_data() void tst_QUdpSocket::multicast() { +#ifdef Q_OS_WINRT + QSKIP("WinRT does not support multicast."); +#endif QFETCH_GLOBAL(bool, setProxy); QFETCH(QHostAddress, bindAddress); QFETCH(bool, bindResult); -- cgit v1.2.3