diff options
author | Liang Qi <liang.qi@theqtcompany.com> | 2015-09-25 14:02:04 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@theqtcompany.com> | 2015-09-25 14:02:04 +0200 |
commit | a1ad9a74ebb3c556c5f70f7e03be68b09598ac53 (patch) | |
tree | 615a96db418219a57a745a5899e39a9ac90744ec /tests/auto/network/kernel | |
parent | 6d78b7a0c46ea04f4bb771d960e2f7dff1362341 (diff) | |
parent | 462f355e4fb16cc7a1838fa2dda0f763eee58c84 (diff) |
Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
src/corelib/io/io.pri
src/corelib/io/qdatastream.cpp
src/corelib/io/qdatastream.h
src/network/socket/qabstractsocket.cpp
src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp
src/plugins/platforms/cocoa/qcocoaaccessibilityelement.h
src/widgets/styles/qgtkstyle.cpp
tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/qmimedatabase-cache.pro
tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/qmimedatabase-xml.pro
tests/auto/dbus/qdbusconnection/qdbusconnection.pro
tests/auto/dbus/qdbuspendingcall/tst_qdbuspendingcall.cpp
tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
Change-Id: I347549a024eb5bfa986699e0a11f96cc55c797a7
Diffstat (limited to 'tests/auto/network/kernel')
-rw-r--r-- | tests/auto/network/kernel/qhostaddress/tst_qhostaddress.cpp | 64 | ||||
-rw-r--r-- | tests/auto/network/kernel/qnetworkinterface/tst_qnetworkinterface.cpp | 48 |
2 files changed, 79 insertions, 33 deletions
diff --git a/tests/auto/network/kernel/qhostaddress/tst_qhostaddress.cpp b/tests/auto/network/kernel/qhostaddress/tst_qhostaddress.cpp index e074ecae1d..8069865d93 100644 --- a/tests/auto/network/kernel/qhostaddress/tst_qhostaddress.cpp +++ b/tests/auto/network/kernel/qhostaddress/tst_qhostaddress.cpp @@ -83,22 +83,12 @@ private slots: void isInSubnet(); void isLoopback_data(); void isLoopback(); + void isMulticast_data(); + void isMulticast(); void convertv4v6_data(); void convertv4v6(); }; -QT_BEGIN_NAMESPACE -namespace QTest { - template<> - char *toString(const QHostAddress &addr) - { - if (addr.protocol() == QAbstractSocket::UnknownNetworkLayerProtocol) - return qstrdup("<invalid>"); - return qstrdup(addr.toString().toLatin1()); - } -} -QT_END_NAMESPACE - tst_QHostAddress::tst_QHostAddress() { } @@ -631,6 +621,9 @@ void tst_QHostAddress::isLoopback_data() QTest::addColumn<QHostAddress>("address"); QTest::addColumn<bool>("result"); + QTest::newRow("default") << QHostAddress() << false; + QTest::newRow("invalid") << QHostAddress("&&&") << false; + QTest::newRow("ipv6_loop") << QHostAddress(QHostAddress::LocalHostIPv6) << true; QTest::newRow("::1") << QHostAddress("::1") << true; @@ -639,7 +632,6 @@ void tst_QHostAddress::isLoopback_data() QTest::newRow("127.0.0.2") << QHostAddress("127.0.0.2") << true; QTest::newRow("127.3.2.1") << QHostAddress("127.3.2.1") << true; - QTest::newRow("default") << QHostAddress() << false; QTest::newRow("1.2.3.4") << QHostAddress("1.2.3.4") << false; QTest::newRow("10.0.0.4") << QHostAddress("10.0.0.4") << false; QTest::newRow("192.168.3.4") << QHostAddress("192.168.3.4") << false; @@ -650,10 +642,12 @@ void tst_QHostAddress::isLoopback_data() QTest::newRow("AnyIPv6") << QHostAddress(QHostAddress::AnyIPv6) << false; QTest::newRow("Broadcast") << QHostAddress(QHostAddress::Broadcast) << false; QTest::newRow("Null") << QHostAddress(QHostAddress::Null) << false; + QTest::newRow("ipv6-all-ffff") << QHostAddress("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff") << false; QTest::newRow("::ffff:127.0.0.1") << QHostAddress("::ffff:127.0.0.1") << true; QTest::newRow("::ffff:127.0.0.2") << QHostAddress("::ffff:127.0.0.2") << true; QTest::newRow("::ffff:127.3.2.1") << QHostAddress("::ffff:127.3.2.1") << true; + } void tst_QHostAddress::isLoopback() @@ -664,6 +658,50 @@ void tst_QHostAddress::isLoopback() QCOMPARE(address.isLoopback(), result); } +void tst_QHostAddress::isMulticast_data() +{ + QTest::addColumn<QHostAddress>("address"); + QTest::addColumn<bool>("result"); + + QTest::newRow("default") << QHostAddress() << false; + QTest::newRow("invalid") << QHostAddress("&&&") << false; + + QTest::newRow("ipv6_loop") << QHostAddress(QHostAddress::LocalHostIPv6) << false; + QTest::newRow("::1") << QHostAddress("::1") << false; + QTest::newRow("ipv4_loop") << QHostAddress(QHostAddress::LocalHost) << false; + QTest::newRow("127.0.0.1") << QHostAddress("127.0.0.1") << false; + QTest::newRow("::") << QHostAddress("::") << false; + QTest::newRow("Any") << QHostAddress(QHostAddress::Any) << false; + QTest::newRow("AnyIPv4") << QHostAddress(QHostAddress::AnyIPv4) << false; + QTest::newRow("AnyIPv6") << QHostAddress(QHostAddress::AnyIPv6) << false; + QTest::newRow("Broadcast") << QHostAddress(QHostAddress::Broadcast) << false; + QTest::newRow("Null") << QHostAddress(QHostAddress::Null) << false; + + QTest::newRow("223.255.255.255") << QHostAddress("223.255.255.255") << false; + QTest::newRow("224.0.0.0") << QHostAddress("224.0.0.0") << true; + QTest::newRow("239.255.255.255") << QHostAddress("239.255.255.255") << true; + QTest::newRow("240.0.0.0") << QHostAddress("240.0.0.0") << false; + + QTest::newRow("::ffff:223.255.255.255") << QHostAddress("::ffff:223.255.255.255") << false; + QTest::newRow("::ffff:224.0.0.0") << QHostAddress("::ffff:224.0.0.0") << true; + QTest::newRow("::ffff:239.255.255.255") << QHostAddress("::ffff:239.255.255.255") << true; + QTest::newRow("::ffff:240.0.0.0") << QHostAddress("::ffff:240.0.0.0") << false; + + QTest::newRow("fc00::") << QHostAddress("fc00::") << false; + QTest::newRow("fe80::") << QHostAddress("fe80::") << false; + QTest::newRow("fec0::") << QHostAddress("fec0::") << false; + QTest::newRow("ff00::") << QHostAddress("ff00::") << true; + QTest::newRow("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff") << QHostAddress("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff") << true; +} + +void tst_QHostAddress::isMulticast() +{ + QFETCH(QHostAddress, address); + QFETCH(bool, result); + + QCOMPARE(address.isMulticast(), result); +} + void tst_QHostAddress::convertv4v6_data() { QTest::addColumn<QHostAddress>("source"); diff --git a/tests/auto/network/kernel/qnetworkinterface/tst_qnetworkinterface.cpp b/tests/auto/network/kernel/qnetworkinterface/tst_qnetworkinterface.cpp index b3ffe74b67..f7798bbb70 100644 --- a/tests/auto/network/kernel/qnetworkinterface/tst_qnetworkinterface.cpp +++ b/tests/auto/network/kernel/qnetworkinterface/tst_qnetworkinterface.cpp @@ -58,6 +58,7 @@ private slots: void loopbackIPv4(); void loopbackIPv6(); void localAddress(); + void interfaceFromXXX_data(); void interfaceFromXXX(); void copyInvalidInterface(); @@ -188,35 +189,42 @@ void tst_QNetworkInterface::localAddress() QVERIFY(all.contains(local)); } -void tst_QNetworkInterface::interfaceFromXXX() +void tst_QNetworkInterface::interfaceFromXXX_data() { + QTest::addColumn<QNetworkInterface>("iface"); + QList<QNetworkInterface> allInterfaces = QNetworkInterface::allInterfaces(); + foreach (QNetworkInterface iface, allInterfaces) + QTest::newRow(iface.name().toLocal8Bit()) << iface; +} + +void tst_QNetworkInterface::interfaceFromXXX() +{ + QFETCH(QNetworkInterface, iface); - foreach (QNetworkInterface iface, allInterfaces) { - QVERIFY(QNetworkInterface::interfaceFromName(iface.name()).isValid()); - foreach (QNetworkAddressEntry entry, iface.addressEntries()) { - QVERIFY(!entry.ip().isNull()); + QVERIFY(QNetworkInterface::interfaceFromName(iface.name()).isValid()); + foreach (QNetworkAddressEntry entry, iface.addressEntries()) { + QVERIFY(!entry.ip().isNull()); - if (!entry.netmask().isNull()) { - QCOMPARE(entry.netmask().protocol(), entry.ip().protocol()); + if (!entry.netmask().isNull()) { + QCOMPARE(entry.netmask().protocol(), entry.ip().protocol()); - // if the netmask is known, the broadcast is known - // but only for IPv4 (there is no such thing as broadcast in IPv6) - if (entry.ip().protocol() == QAbstractSocket::IPv4Protocol) { - QVERIFY(!entry.broadcast().isNull()); + // if the netmask is known, the broadcast is known + // but only for IPv4 (there is no such thing as broadcast in IPv6) + if (entry.ip().protocol() == QAbstractSocket::IPv4Protocol) { + QVERIFY(!entry.broadcast().isNull()); - // verify that the broadcast address is correct - quint32 ip = entry.ip().toIPv4Address(); - quint32 mask = entry.netmask().toIPv4Address(); - quint32 bcast = entry.broadcast().toIPv4Address(); + // verify that the broadcast address is correct + quint32 ip = entry.ip().toIPv4Address(); + quint32 mask = entry.netmask().toIPv4Address(); + quint32 bcast = entry.broadcast().toIPv4Address(); - QCOMPARE(bcast, ip | ~mask); - } + QCOMPARE(bcast, ip | ~mask); } - - if (!entry.broadcast().isNull()) - QCOMPARE(entry.broadcast().protocol(), entry.ip().protocol()); } + + if (!entry.broadcast().isNull()) + QCOMPARE(entry.broadcast().protocol(), entry.ip().protocol()); } } |