tests/auto/qlocalsocket/tst_qlocalsocket.cpp
changeset 3 41300fa6a67c
parent 0 1918ee327afb
child 4 3b1da2848fc7
equal deleted inserted replaced
2:56cd8111b7f7 3:41300fa6a67c
   585 
   585 
   586     QLocalSocket* serverSocket = server.nextPendingConnection();
   586     QLocalSocket* serverSocket = server.nextPendingConnection();
   587     char buffer[dataBufferSize];
   587     char buffer[dataBufferSize];
   588     memset(buffer, 0, dataBufferSize);
   588     memset(buffer, 0, dataBufferSize);
   589     serverSocket->write(buffer, dataBufferSize);
   589     serverSocket->write(buffer, dataBufferSize);
   590     serverSocket->flush();
   590     serverSocket->waitForBytesWritten();
   591 
   591 
       
   592     // wait until the first 128 bytes are ready to read
   592     QVERIFY(client.waitForReadyRead());
   593     QVERIFY(client.waitForReadyRead());
   593     QCOMPARE(client.read(buffer, readBufferSize), qint64(readBufferSize));
   594     QCOMPARE(client.read(buffer, readBufferSize), qint64(readBufferSize));
   594 #if defined(QT_LOCALSOCKET_TCP) || defined(Q_OS_SYMBIAN)
   595     // wait until the second 128 bytes are ready to read
   595     QTest::qWait(250);
   596     QVERIFY(client.waitForReadyRead());
   596 #endif
       
   597     QCOMPARE(client.read(buffer, readBufferSize), qint64(readBufferSize));
   597     QCOMPARE(client.read(buffer, readBufferSize), qint64(readBufferSize));
       
   598     // no more bytes available
       
   599     QVERIFY(client.bytesAvailable() == 0);
   598 }
   600 }
   599 
   601 
   600 // QLocalSocket/Server can take a name or path, check that it works as expected
   602 // QLocalSocket/Server can take a name or path, check that it works as expected
   601 void tst_QLocalSocket::fullPath()
   603 void tst_QLocalSocket::fullPath()
   602 {
   604 {
   691             ++tries;
   693             ++tries;
   692         } while ((socket.error() == QLocalSocket::ServerNotFoundError
   694         } while ((socket.error() == QLocalSocket::ServerNotFoundError
   693                   || socket.error() == QLocalSocket::ConnectionRefusedError)
   695                   || socket.error() == QLocalSocket::ConnectionRefusedError)
   694              && tries < 1000);
   696              && tries < 1000);
   695         if (tries == 0 && socket.state() != QLocalSocket::ConnectedState) {
   697         if (tries == 0 && socket.state() != QLocalSocket::ConnectedState) {
   696             QVERIFY(socket.waitForConnected(3000));
   698             QVERIFY(socket.waitForConnected(7000));
   697             QVERIFY(socket.state() == QLocalSocket::ConnectedState);
   699             QVERIFY(socket.state() == QLocalSocket::ConnectedState);
   698         }
   700         }
   699 
   701 
   700         // We should *not* have this signal yet!
   702         // We should *not* have this signal yet!
   701         if (tries == 0)
   703         if (tries == 0)
   721         QVERIFY2(server.listen("qlocalsocket_threadtest"),
   723         QVERIFY2(server.listen("qlocalsocket_threadtest"),
   722                  server.errorString().toLatin1().constData());
   724                  server.errorString().toLatin1().constData());
   723         int done = clients;
   725         int done = clients;
   724         while (done > 0) {
   726         while (done > 0) {
   725             bool timedOut = true;
   727             bool timedOut = true;
   726             QVERIFY(server.waitForNewConnection(3000, &timedOut));
   728             QVERIFY(server.waitForNewConnection(7000, &timedOut));
   727             QVERIFY(!timedOut);
   729             QVERIFY(!timedOut);
   728             QLocalSocket *serverSocket = server.nextPendingConnection();
   730             QLocalSocket *serverSocket = server.nextPendingConnection();
   729             QVERIFY(serverSocket);
   731             QVERIFY(serverSocket);
   730             QTextStream out(serverSocket);
   732             QTextStream out(serverSocket);
   731             out << testLine << endl;
   733             out << testLine << endl;
   974     client.connectToServer("writeOnlySocket", QIODevice::WriteOnly);
   976     client.connectToServer("writeOnlySocket", QIODevice::WriteOnly);
   975     QVERIFY(client.waitForConnected());
   977     QVERIFY(client.waitForConnected());
   976 #if defined(Q_OS_SYMBIAN)
   978 #if defined(Q_OS_SYMBIAN)
   977         QTest::qWait(250);
   979         QTest::qWait(250);
   978 #endif
   980 #endif
   979     QVERIFY(server.waitForNewConnection());
   981     QVERIFY(server.waitForNewConnection(200));
   980     QLocalSocket* serverSocket = server.nextPendingConnection();
   982     QLocalSocket* serverSocket = server.nextPendingConnection();
   981     QVERIFY(serverSocket);
   983     QVERIFY(serverSocket);
   982 
   984 
   983     QCOMPARE(client.bytesAvailable(), qint64(0));
   985     QCOMPARE(client.bytesAvailable(), qint64(0));
   984     QCOMPARE(client.state(), QLocalSocket::ConnectedState);
   986     QCOMPARE(client.state(), QLocalSocket::ConnectedState);