diff options
Diffstat (limited to 'tests/auto/network/socket')
7 files changed, 70 insertions, 137 deletions
diff --git a/tests/auto/network/socket/platformsocketengine/tst_platformsocketengine.cpp b/tests/auto/network/socket/platformsocketengine/tst_platformsocketengine.cpp index 71125f463a..dd5f912f3a 100644 --- a/tests/auto/network/socket/platformsocketengine/tst_platformsocketengine.cpp +++ b/tests/auto/network/socket/platformsocketengine/tst_platformsocketengine.cpp @@ -70,16 +70,8 @@ class tst_PlatformSocketEngine : public QObject { Q_OBJECT -public: - tst_PlatformSocketEngine(); - virtual ~tst_PlatformSocketEngine(); - - -public slots: - void initTestCase(); - void init(); - void cleanup(); private slots: + void initTestCase(); void construction(); void simpleConnectToIMAP(); void udpLoopbackTest(); @@ -99,27 +91,11 @@ private slots: void tooManySockets(); }; -tst_PlatformSocketEngine::tst_PlatformSocketEngine() -{ -} - -tst_PlatformSocketEngine::~tst_PlatformSocketEngine() -{ -} - void tst_PlatformSocketEngine::initTestCase() { QVERIFY(QtNetworkSettings::verifyTestNetworkSettings()); } -void tst_PlatformSocketEngine::init() -{ -} - -void tst_PlatformSocketEngine::cleanup() -{ -} - //--------------------------------------------------------------------------- void tst_PlatformSocketEngine::construction() { diff --git a/tests/auto/network/socket/qhttpsocketengine/tst_qhttpsocketengine.cpp b/tests/auto/network/socket/qhttpsocketengine/tst_qhttpsocketengine.cpp index f6662b6712..021893c6c5 100644 --- a/tests/auto/network/socket/qhttpsocketengine/tst_qhttpsocketengine.cpp +++ b/tests/auto/network/socket/qhttpsocketengine/tst_qhttpsocketengine.cpp @@ -51,16 +51,9 @@ class tst_QHttpSocketEngine : public QObject { Q_OBJECT -public: - tst_QHttpSocketEngine(); - virtual ~tst_QHttpSocketEngine(); - - -public slots: +private slots: void initTestCase(); void init(); - void cleanup(); -private slots: void construction(); void errorTest_data(); void errorTest(); @@ -132,14 +125,6 @@ public slots: } }; -tst_QHttpSocketEngine::tst_QHttpSocketEngine() -{ -} - -tst_QHttpSocketEngine::~tst_QHttpSocketEngine() -{ -} - void tst_QHttpSocketEngine::initTestCase() { QVERIFY(QtNetworkSettings::verifyTestNetworkSettings()); @@ -151,10 +136,6 @@ void tst_QHttpSocketEngine::init() bytesAvailable = 0; } -void tst_QHttpSocketEngine::cleanup() -{ -} - //--------------------------------------------------------------------------- void tst_QHttpSocketEngine::construction() { diff --git a/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp b/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp index d7480a4109..9362195839 100644 --- a/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp +++ b/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp @@ -54,9 +54,8 @@ class tst_QLocalSocket : public QObject { Q_OBJECT -public Q_SLOTS: - void init(); - void cleanup(); +public: + tst_QLocalSocket(); private slots: // basics @@ -116,7 +115,7 @@ private slots: }; -void tst_QLocalSocket::init() +tst_QLocalSocket::tst_QLocalSocket() { qRegisterMetaType<QLocalSocket::LocalSocketState>("QLocalSocket::LocalSocketState"); qRegisterMetaType<QLocalSocket::LocalSocketError>("QLocalSocket::LocalSocketError"); @@ -124,10 +123,6 @@ void tst_QLocalSocket::init() qRegisterMetaType<QFile::Permissions>("QFile::Permissions"); } -void tst_QLocalSocket::cleanup() -{ -} - class LocalServer : public QLocalServer { Q_OBJECT @@ -190,7 +185,7 @@ private slots: } void slotError(QLocalSocket::LocalSocketError newError) { - QVERIFY(errorString() != "Unknown error"); + QVERIFY(errorString() != QLatin1String("Unknown error")); QCOMPARE(error(), newError); } void slotStateChanged(QLocalSocket::LocalSocketState newState) @@ -328,8 +323,9 @@ void tst_QLocalSocket::listenAndConnect_data() int connections = i; if (i == 2) connections = 5; - QTest::newRow(QString("null %1").arg(i).toLatin1()) << QString() << false << connections; - QTest::newRow(QString("tst_localsocket %1").arg(i).toLatin1()) << "tst_localsocket" << true << connections; + const QByteArray iB = QByteArray::number(i); + QTest::newRow(("null " + iB).constData()) << QString() << false << connections; + QTest::newRow(("tst_localsocket " + iB).constData()) << "tst_localsocket" << true << connections; } } @@ -535,7 +531,7 @@ void tst_QLocalSocket::sendData() if (server.hasPendingConnections()) { QString testLine = "test"; for (int i = 0; i < 50000; ++i) - testLine += "a"; + testLine += QLatin1Char('a'); QLocalSocket *serverSocket = server.nextPendingConnection(); QVERIFY(serverSocket); QCOMPARE(serverSocket->state(), QLocalSocket::ConnectedState); @@ -1237,7 +1233,7 @@ void tst_QLocalSocket::verifyListenWithDescriptor() QVERIFY2(server.fullServerName().at(0) == at, "abstract sockets should start with a '@'"); } else { QCOMPARE(server.fullServerName(), path); - if (path.contains(QLatin1String("/"))) { + if (path.contains(QLatin1Char('/'))) { QVERIFY2(server.serverName() == path.mid(path.lastIndexOf(QLatin1Char('/'))+1), "server name invalid short name"); } else { QVERIFY2(server.serverName() == path, "servier name doesn't match the path provided"); diff --git a/tests/auto/network/socket/qsocks5socketengine/tst_qsocks5socketengine.cpp b/tests/auto/network/socket/qsocks5socketengine/tst_qsocks5socketengine.cpp index 8da656aab7..dfe882bdae 100644 --- a/tests/auto/network/socket/qsocks5socketengine/tst_qsocks5socketengine.cpp +++ b/tests/auto/network/socket/qsocks5socketengine/tst_qsocks5socketengine.cpp @@ -57,16 +57,9 @@ class tst_QSocks5SocketEngine : public QObject, public QAbstractSocketEngineRece { Q_OBJECT -public: - tst_QSocks5SocketEngine(); - virtual ~tst_QSocks5SocketEngine(); - - -public slots: +private slots: void initTestCase(); void init(); - void cleanup(); -private slots: void construction(); void errorTest_data(); void errorTest(); @@ -160,14 +153,6 @@ private slots: } }; -tst_QSocks5SocketEngine::tst_QSocks5SocketEngine() -{ -} - -tst_QSocks5SocketEngine::~tst_QSocks5SocketEngine() -{ -} - void tst_QSocks5SocketEngine::initTestCase() { QVERIFY(QtNetworkSettings::verifyTestNetworkSettings()); @@ -179,10 +164,6 @@ void tst_QSocks5SocketEngine::init() bytesAvailable = 0; } -void tst_QSocks5SocketEngine::cleanup() -{ -} - //--------------------------------------------------------------------------- void tst_QSocks5SocketEngine::construction() { @@ -613,8 +594,8 @@ void tst_QSocks5SocketEngine::tcpSocketBlockingTest() // Read greeting QVERIFY(socket.waitForReadyRead(5000)); - QString s = socket.readLine(); - QVERIFY2(QtNetworkSettings::compareReplyIMAP(s.toLatin1()), s.toLatin1().constData()); + QByteArray s = socket.readLine(); + QVERIFY2(QtNetworkSettings::compareReplyIMAP(s), s.constData()); // Write NOOP QCOMPARE((int) socket.write("1 NOOP\r\n", 8), 8); @@ -624,7 +605,7 @@ void tst_QSocks5SocketEngine::tcpSocketBlockingTest() // Read response s = socket.readLine(); - QCOMPARE(s.toLatin1().constData(), "1 OK Completed\r\n"); + QCOMPARE(s, QByteArrayLiteral("1 OK Completed\r\n")); // Write LOGOUT QCOMPARE((int) socket.write("2 LOGOUT\r\n", 10), 10); @@ -634,13 +615,13 @@ void tst_QSocks5SocketEngine::tcpSocketBlockingTest() // Read two lines of respose s = socket.readLine(); - QCOMPARE(s.toLatin1().constData(), "* BYE LOGOUT received\r\n"); + QCOMPARE(s, QByteArrayLiteral("* BYE LOGOUT received\r\n")); if (!socket.canReadLine()) QVERIFY(socket.waitForReadyRead(5000)); s = socket.readLine(); - QCOMPARE(s.toLatin1().constData(), "2 OK Completed\r\n"); + QCOMPARE(s, QByteArrayLiteral("2 OK Completed\r\n")); // Close the socket socket.close(); @@ -715,7 +696,7 @@ void tst_QSocks5SocketEngine::tcpSocketNonBlockingTest() // Read response QVERIFY(!tcpSocketNonBlocking_data.isEmpty()); - QCOMPARE(tcpSocketNonBlocking_data.at(0).toLatin1().constData(), "1 OK Completed\r\n"); + QCOMPARE(tcpSocketNonBlocking_data.at(0), QLatin1String("1 OK Completed\r\n")); tcpSocketNonBlocking_data.clear(); diff --git a/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp b/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp index 5df5432cdd..5f5528c405 100644 --- a/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp +++ b/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp @@ -70,17 +70,11 @@ class tst_QTcpServer : public QObject { Q_OBJECT -public: - tst_QTcpServer(); - virtual ~tst_QTcpServer(); - - -public slots: +private slots: void initTestCase_data(); void initTestCase(); void init(); void cleanup(); -private slots: void getSetCheck(); void constructing(); void clientServerLoop(); @@ -138,14 +132,6 @@ void tst_QTcpServer::getSetCheck() QCOMPARE(INT_MAX, obj1.maxPendingConnections()); } -tst_QTcpServer::tst_QTcpServer() -{ -} - -tst_QTcpServer::~tst_QTcpServer() -{ -} - void tst_QTcpServer::initTestCase_data() { QTest::addColumn<bool>("setProxy"); diff --git a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp index cde453c191..37498fd772 100644 --- a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp +++ b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp @@ -94,7 +94,6 @@ class tst_QTcpSocket : public QObject public: tst_QTcpSocket(); - virtual ~tst_QTcpSocket(); static void enterLoop(int secs) { @@ -201,6 +200,7 @@ private slots: void setSocketOption(); void clientSendDataOnDelayedDisconnect(); void serverDisconnectWithBuffered(); + void socketDiscardDataInWriteMode(); void readNotificationsAfterBind(); protected slots: @@ -322,11 +322,6 @@ tst_QTcpSocket::tst_QTcpSocket() firstFailInfo.setAddresses(QList<QHostAddress>() << QHostAddress("224.0.0.0") << QtNetworkSettings::serverIP()); } -tst_QTcpSocket::~tst_QTcpSocket() -{ - -} - void tst_QTcpSocket::initTestCase_data() { QTest::addColumn<bool>("setProxy"); @@ -1776,7 +1771,7 @@ void tst_QTcpSocket::atEnd() // Test server must use some vsFTPd 2.x.x version QVERIFY2(greeting.length() == sizeof("220 (vsFTPd 2.x.x)")-1, qPrintable(greeting)); QVERIFY2(greeting.startsWith("220 (vsFTPd 2."), qPrintable(greeting)); - QVERIFY2(greeting.endsWith(")"), qPrintable(greeting)); + QVERIFY2(greeting.endsWith(QLatin1Char(')')), qPrintable(greeting)); delete socket; } @@ -3029,6 +3024,37 @@ void tst_QTcpSocket::serverDisconnectWithBuffered() delete socket; } +// Test buffered sockets discard input when opened in WriteOnly mode +void tst_QTcpSocket::socketDiscardDataInWriteMode() +{ + QFETCH_GLOBAL(bool, setProxy); + if (setProxy) + return; + + QTcpServer tcpServer; + QTcpSocket *socket = newSocket(); + + QVERIFY(tcpServer.listen(QHostAddress::LocalHost)); + socket->connectToHost(tcpServer.serverAddress(), tcpServer.serverPort(), + QIODevice::WriteOnly); + QVERIFY(socket->waitForConnected(5000)); // ready for write + QCOMPARE(socket->state(), QAbstractSocket::ConnectedState); + + // Accept connection on server side + QVERIFY2(tcpServer.waitForNewConnection(5000), "Network timeout"); + QTcpSocket *newConnection = tcpServer.nextPendingConnection(); + // Send one char and drop link + QVERIFY(newConnection != NULL); + QVERIFY(newConnection->putChar(0)); + QVERIFY(newConnection->flush()); + delete newConnection; + + QVERIFY(socket->waitForReadyRead(5000)); // discard input + QVERIFY(socket->atEnd()); + + delete socket; +} + // Test that the socket does not enable the read notifications in bind() void tst_QTcpSocket::readNotificationsAfterBind() { diff --git a/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp b/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp index 0ee3255502..62286bedb6 100644 --- a/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp +++ b/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp @@ -63,17 +63,11 @@ class tst_QUdpSocket : public QObject { Q_OBJECT -public: - tst_QUdpSocket(); - virtual ~tst_QUdpSocket(); - - -public slots: +private slots: void initTestCase_data(); void initTestCase(); void init(); void cleanup(); -private slots: void constructing(); void unconnectedServerAndClientTest(); void broadcasting(); @@ -144,14 +138,6 @@ static QHostAddress makeNonAny(const QHostAddress &address, QHostAddress::Specia return address; } -tst_QUdpSocket::tst_QUdpSocket() -{ -} - -tst_QUdpSocket::~tst_QUdpSocket() -{ -} - void tst_QUdpSocket::initTestCase_data() { // hack: we only enable the Socks5 over UDP tests on the old @@ -1119,12 +1105,13 @@ void tst_QUdpSocket::multicastTtlOption_data() addresses += QHostAddress(QHostAddress::AnyIPv6); foreach (const QHostAddress &address, addresses) { - QTest::newRow(QString("%1 0").arg(address.toString()).toLatin1()) << address << 0 << 0; - QTest::newRow(QString("%1 1").arg(address.toString()).toLatin1()) << address << 1 << 1; - QTest::newRow(QString("%1 2").arg(address.toString()).toLatin1()) << address << 2 << 2; - QTest::newRow(QString("%1 128").arg(address.toString()).toLatin1()) << address << 128 << 128; - QTest::newRow(QString("%1 255").arg(address.toString()).toLatin1()) << address << 255 << 255; - QTest::newRow(QString("%1 1024").arg(address.toString()).toLatin1()) << address << 1024 << 1; + const QByteArray addressB = address.toString().toLatin1(); + QTest::newRow((addressB + " 0").constData()) << address << 0 << 0; + QTest::newRow((addressB + " 1").constData()) << address << 1 << 1; + QTest::newRow((addressB + " 2").constData()) << address << 2 << 2; + QTest::newRow((addressB + " 128").constData()) << address << 128 << 128; + QTest::newRow((addressB + " 255").constData()) << address << 255 << 255; + QTest::newRow((addressB + " 1024").constData()) << address << 1024 << 1; } } @@ -1163,13 +1150,14 @@ void tst_QUdpSocket::multicastLoopbackOption_data() addresses += QHostAddress(QHostAddress::AnyIPv6); foreach (const QHostAddress &address, addresses) { - QTest::newRow(QString("%1 0").arg(address.toString()).toLatin1()) << address << 0 << 0; - QTest::newRow(QString("%1 1").arg(address.toString()).toLatin1()) << address << 1 << 1; - QTest::newRow(QString("%1 2").arg(address.toString()).toLatin1()) << address << 2 << 1; - QTest::newRow(QString("%1 0 again").arg(address.toString()).toLatin1()) << address << 0 << 0; - QTest::newRow(QString("%1 2 again").arg(address.toString()).toLatin1()) << address << 2 << 1; - QTest::newRow(QString("%1 0 last time").arg(address.toString()).toLatin1()) << address << 0 << 0; - QTest::newRow(QString("%1 1 again").arg(address.toString()).toLatin1()) << address << 1 << 1; + const QByteArray addressB = address.toString().toLatin1(); + QTest::newRow((addressB + " 0").constData()) << address << 0 << 0; + QTest::newRow((addressB + " 1").constData()) << address << 1 << 1; + QTest::newRow((addressB + " 2").constData()) << address << 2 << 1; + QTest::newRow((addressB + " 0 again").constData()) << address << 0 << 0; + QTest::newRow((addressB + " 2 again").constData()) << address << 2 << 1; + QTest::newRow((addressB + " 0 last time").constData()) << address << 0 << 0; + QTest::newRow((addressB + " 1 again").constData()) << address << 1 << 1; } } @@ -1266,9 +1254,8 @@ void tst_QUdpSocket::setMulticastInterface_data() if ((iface.flags() & QNetworkInterface::IsUp) == 0) continue; foreach (const QNetworkAddressEntry &entry, iface.addressEntries()) { - QTest::newRow(QString("%1:%2").arg(iface.name()).arg(entry.ip().toString()).toLatin1()) - << iface - << entry.ip(); + const QByteArray testName = iface.name().toLatin1() + ':' + entry.ip().toString().toLatin1(); + QTest::newRow(testName.constData()) << iface << entry.ip(); } } } |