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>
bb10
Friedemann Kleint 2014-05-08 12:23:37 +02:00 committed by The Qt Project
parent 730697d1b9
commit c82668d39d
1 changed files with 14 additions and 20 deletions

View File

@ -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());