summaryrefslogtreecommitdiffstats
path: root/tests/auto/network
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/network')
-rw-r--r--tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp32
-rw-r--r--tests/auto/network/socket/qlocalsocket/example/server/main.cpp2
-rw-r--r--tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp22
-rw-r--r--tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp8
4 files changed, 61 insertions, 3 deletions
diff --git a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
index 150f5c4616..185c3eedd8 100644
--- a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
+++ b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
@@ -399,6 +399,9 @@ private Q_SLOTS:
void closeDuringDownload_data();
void closeDuringDownload();
+ void ftpAuthentication_data();
+ void ftpAuthentication();
+
// NOTE: This test must be last!
void parentingRepliesToTheApp();
private:
@@ -6775,6 +6778,35 @@ void tst_QNetworkReply::closeDuringDownload()
QTest::qWait(1000); //cancelling ftp takes some time, this avoids a warning caused by test's cleanup() destroying the connection cache before the abort is finished
}
+
+void tst_QNetworkReply::ftpAuthentication_data()
+{
+ QTest::addColumn<QString>("referenceName");
+ QTest::addColumn<QString>("url");
+ QTest::addColumn<int>("error");
+
+ QTest::newRow("invalidPassword") << (testDataDir + "/rfc3252.txt") << "ftp://ftptest:invalid@" + QtNetworkSettings::serverName() + "/home/qt-test-server/ftp/qtest/rfc3252.txt" << int(QNetworkReply::AuthenticationRequiredError);
+ QTest::newRow("validPassword") << (testDataDir + "/rfc3252.txt") << "ftp://ftptest:password@" + QtNetworkSettings::serverName() + "/home/qt-test-server/ftp/qtest/rfc3252.txt" << int(QNetworkReply::NoError);
+}
+
+void tst_QNetworkReply::ftpAuthentication()
+{
+ QFETCH(QString, referenceName);
+ QFETCH(QString, url);
+ QFETCH(int, error);
+
+ QFile reference(referenceName);
+ QVERIFY(reference.open(QIODevice::ReadOnly));
+
+ QNetworkRequest request(url);
+ QNetworkReplyPtr reply;
+ runSimpleRequest(QNetworkAccessManager::GetOperation, request, reply);
+
+ QCOMPARE(reply->url(), request.url());
+ QCOMPARE(reply->error(), QNetworkReply::NetworkError(error));
+}
+
+
// NOTE: This test must be last testcase in tst_qnetworkreply!
void tst_QNetworkReply::parentingRepliesToTheApp()
{
diff --git a/tests/auto/network/socket/qlocalsocket/example/server/main.cpp b/tests/auto/network/socket/qlocalsocket/example/server/main.cpp
index d066e4ef51..909bb6856f 100644
--- a/tests/auto/network/socket/qlocalsocket/example/server/main.cpp
+++ b/tests/auto/network/socket/qlocalsocket/example/server/main.cpp
@@ -72,7 +72,7 @@ public:
if (n == 0)
break;
qDebug() << "Read" << str;
- if ("exit" == str)
+ if (!qstrcmp(str, "exit"))
qApp->quit();
if (socket->write(str, 100) < 0) {
diff --git a/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp b/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp
index ac27a621bb..1f68608542 100644
--- a/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp
+++ b/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp
@@ -115,6 +115,10 @@ private slots:
void serverAddress_data();
void serverAddress();
+
+ void qtbug6305_data() { serverAddress_data(); }
+ void qtbug6305();
+
private:
#ifndef QT_NO_BEARERMANAGEMENT
QNetworkSession *networkSession;
@@ -828,10 +832,28 @@ void tst_QTcpServer::serverAddress()
QFETCH(QHostAddress, listenAddress);
QFETCH(QHostAddress, serverAddress);
QTcpServer server;
+
+ // TODO: why does this QSKIP?
if (!server.listen(listenAddress))
QSKIP(qPrintable(server.errorString()));
QCOMPARE(server.serverAddress(), serverAddress);
}
+// on OS X, calling listen() multiple times would succeed each time, which is
+// most definitely not wanted.
+void tst_QTcpServer::qtbug6305()
+{
+ QFETCH_GLOBAL(bool, setProxy);
+ if (setProxy)
+ return;
+
+ QFETCH(QHostAddress, listenAddress);
+ QTcpServer server;
+ QVERIFY2(server.listen(listenAddress), qPrintable(server.errorString()));
+
+ QTcpServer server2;
+ QVERIFY(!server2.listen(listenAddress, server.serverPort())); // second listen should fail
+}
+
QTEST_MAIN(tst_QTcpServer)
#include "tst_qtcpserver.moc"
diff --git a/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp b/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp
index c53450eec6..cab3d56d32 100644
--- a/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp
+++ b/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp
@@ -309,9 +309,10 @@ void tst_QUdpSocket::broadcasting()
QByteArray arr; arr.resize(serverSocket.pendingDatagramSize() + 1);
QHostAddress host;
quint16 port;
+ const int messageLength = int(strlen(message[i]));
QCOMPARE((int) serverSocket.readDatagram(arr.data(), arr.size() - 1, &host, &port),
- (int) strlen(message[i]));
- arr.resize(strlen(message[i]));
+ messageLength);
+ arr.resize(messageLength);
QCOMPARE(arr, QByteArray(message[i]));
} while (serverSocket.hasPendingDatagrams());
}
@@ -1202,6 +1203,7 @@ void tst_QUdpSocket::multicast_data()
QHostAddress groupAddress = QHostAddress("239.255.118.62");
QHostAddress any6Address = QHostAddress(QHostAddress::AnyIPv6);
QHostAddress group6Address = QHostAddress("FF01::114");
+ QHostAddress dualAddress = QHostAddress(QHostAddress::Any);
QTest::addColumn<QHostAddress>("bindAddress");
QTest::addColumn<bool>("bindResult");
@@ -1213,6 +1215,8 @@ void tst_QUdpSocket::multicast_data()
QTest::newRow("valid bind, group ipv6 address") << any6Address << true << group6Address << true;
QTest::newRow("valid bind, invalid group ipv6 address") << any6Address << true << any6Address << false;
QTest::newRow("same bind, group ipv6 address") << group6Address << true << group6Address << true;
+ QTest::newRow("dual bind, group ipv4 address") << dualAddress << true << groupAddress << false;
+ QTest::newRow("dual bind, group ipv6 address") << dualAddress << true << group6Address << true;
}
void tst_QUdpSocket::multicast()