diff options
author | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-05-08 12:23:37 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-05-08 16:06:11 +0200 |
commit | c82668d39dbc7b59217b728cf4ea1ea05e3e6f48 (patch) | |
tree | d802e32ac5e783cb128d472b8f2cc1521681c67c /tests/auto/xml | |
parent | 730697d1b9d3d690b4224f670d1fb01e89254bf3 (diff) |
Speed up tst_QXmlSimpleReader.
Increase the chunk size of the server and remove hard-coded
interval when waiting for the server to listen.
Unmodified, the test takes 170s on Windows.
Change-Id: I65bdc93ff78e1b4fb429fcafd0fdc5e80bb281f9
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Diffstat (limited to 'tests/auto/xml')
-rw-r--r-- | tests/auto/xml/sax/qxmlsimplereader/tst_qxmlsimplereader.cpp | 34 |
1 files changed, 14 insertions, 20 deletions
diff --git a/tests/auto/xml/sax/qxmlsimplereader/tst_qxmlsimplereader.cpp b/tests/auto/xml/sax/qxmlsimplereader/tst_qxmlsimplereader.cpp index 6a3bcc7a7d..fadfc0b48a 100644 --- a/tests/auto/xml/sax/qxmlsimplereader/tst_qxmlsimplereader.cpp +++ b/tests/auto/xml/sax/qxmlsimplereader/tst_qxmlsimplereader.cpp @@ -60,26 +60,26 @@ class XmlServer : public QThread { Q_OBJECT public: - XmlServer(); + XmlServer(QObject *parent = 0) : QThread(parent), quit_soon(false), listening(false) {} + bool quit_soon; + bool listening; protected: virtual void run(); }; -XmlServer::XmlServer() -{ - quit_soon = false; -} - -#define CHUNK_SIZE 1 +#define CHUNK_SIZE 2048 void XmlServer::run() { QTcpServer srv; - if (!srv.listen(QHostAddress::Any, TEST_PORT)) + listening = srv.listen(QHostAddress::Any, TEST_PORT); + if (!listening) { + qWarning() << "Failed to listen on" << TEST_PORT << srv.errorString(); return; + } for (;;) { srv.waitForNewConnection(100); @@ -168,12 +168,9 @@ class tst_QXmlSimpleReader : public QObject QString prefix; }; -tst_QXmlSimpleReader::tst_QXmlSimpleReader() +tst_QXmlSimpleReader::tst_QXmlSimpleReader() : server(new XmlServer(this)) { - server = new XmlServer(); - server->setParent(this); server->start(); - QTest::qSleep(1000); } tst_QXmlSimpleReader::~tst_QXmlSimpleReader() @@ -568,16 +565,13 @@ void tst_QXmlSimpleReader::inputFromSocket() { QFETCH(QString, file_name); + QTRY_VERIFY(server->listening); + QTcpSocket sock; sock.connectToHost(QHostAddress::LocalHost, TEST_PORT); - - const bool connectionSuccess = sock.waitForConnected(); - if(!connectionSuccess) { - QTextStream out(stderr); - out << "QTcpSocket::errorString()" << sock.errorString(); - } - - QVERIFY(connectionSuccess); + QVERIFY2(sock.waitForConnected(), + qPrintable(QStringLiteral("Cannot connect on port ") + QString::number(TEST_PORT) + + QStringLiteral(": ") + sock.errorString())); sock.write(file_name.toLocal8Bit() + "\n"); QVERIFY(sock.waitForBytesWritten()); |