From c82668d39dbc7b59217b728cf4ea1ea05e3e6f48 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Thu, 8 May 2014 12:23:37 +0200 Subject: 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 Reviewed-by: Frederik Gladhorn --- .../sax/qxmlsimplereader/tst_qxmlsimplereader.cpp | 34 +++++++++------------- 1 file changed, 14 insertions(+), 20 deletions(-) (limited to 'tests/auto/xml/sax') 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()); -- cgit v1.2.3