diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2018-04-05 10:02:08 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2018-04-05 10:02:09 +0200 |
commit | bfe5e510b90684d016fb0c68114f85708f7cffda (patch) | |
tree | 0ae25857ca1f50bd04ea1b405afcf863b082b012 /tests/auto | |
parent | 6ada4155aff6a106d918ec1b93923bed9617ab27 (diff) | |
parent | 4b4870a12cd920cd45c534deae7ca90716398a19 (diff) |
Merge remote-tracking branch 'origin/5.11' into dev
Change-Id: I954bd6418bc862a04691240c0f1766f6ce033640
Diffstat (limited to 'tests/auto')
5 files changed, 37 insertions, 33 deletions
diff --git a/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp b/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp index 17763f31f9..810698fb4e 100644 --- a/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp +++ b/tests/auto/corelib/statemachine/qstatemachine/tst_qstatemachine.cpp @@ -4667,11 +4667,14 @@ void tst_QStateMachine::clonedSignals() s1->addTransition(t1); machine.setInitialState(s1); + QSignalSpy startedSpy(&machine, &QStateMachine::started); machine.start(); - QTest::qWait(1); + QVERIFY(startedSpy.wait()); + QSignalSpy transitionSpy(t1, &CloneSignalTransition::triggered); emitter.emitSignalWithDefaultArg(); - QTest::qWait(1); + QTRY_COMPARE(transitionSpy.count(), 1); + QCOMPARE(t1->eventSignalIndex, emitter.metaObject()->indexOfSignal("signalWithDefaultArg()")); TEST_ACTIVE_CHANGED(s1, 2); TEST_ACTIVE_CHANGED(s2, 1); diff --git a/tests/auto/corelib/thread/qfuturewatcher/tst_qfuturewatcher.cpp b/tests/auto/corelib/thread/qfuturewatcher/tst_qfuturewatcher.cpp index a16e9e377c..b2ef516b4e 100644 --- a/tests/auto/corelib/thread/qfuturewatcher/tst_qfuturewatcher.cpp +++ b/tests/auto/corelib/thread/qfuturewatcher/tst_qfuturewatcher.cpp @@ -82,11 +82,11 @@ void tst_QFutureWatcher::startFinish() QVERIFY(finishedSpy.isValid()); futureWatcher.setFuture(QtConcurrent::run(sleeper)); - QTest::qWait(10); // spin the event loop to deliver queued signals. + QVERIFY(startedSpy.wait()); QCOMPARE(startedSpy.count(), 1); QCOMPARE(finishedSpy.count(), 0); futureWatcher.future().waitForFinished(); - QTest::qWait(10); + QVERIFY(finishedSpy.wait()); QCOMPARE(startedSpy.count(), 1); QCOMPARE(finishedSpy.count(), 1); } @@ -232,13 +232,12 @@ void tst_QFutureWatcher::resultAt() void tst_QFutureWatcher::resultReadyAt() { QFutureWatcher<int> futureWatcher; - QObject::connect(&futureWatcher, SIGNAL(resultReadyAt(int)), &QTestEventLoop::instance(), SLOT(exitLoop()), Qt::QueuedConnection); + QSignalSpy resultSpy(&futureWatcher, &QFutureWatcher<int>::resultReadyAt); QFuture<int> future = (new IntTask())->start(); futureWatcher.setFuture(future); - QTestEventLoop::instance().enterLoop(1); - QVERIFY(!QTestEventLoop::instance().timeout()); + QVERIFY(resultSpy.wait()); // Setting the future again should give us another signal. // (this is to prevent the race where the task associated @@ -246,8 +245,7 @@ void tst_QFutureWatcher::resultReadyAt() futureWatcher.setFuture(QFuture<int>()); futureWatcher.setFuture(future); - QTestEventLoop::instance().enterLoop(1); - QVERIFY(!QTestEventLoop::instance().timeout()); + QVERIFY(resultSpy.wait()); } class SignalSlotObject : public QObject @@ -320,19 +318,17 @@ void tst_QFutureWatcher::futureSignals() const int progress = 1; a.setProgressValue(progress); - QTest::qWait(10); - QCOMPARE(progressSpy.count(), 2); + QTRY_COMPARE(progressSpy.count(), 2); QCOMPARE(progressSpy.takeFirst().at(0).toInt(), 0); QCOMPARE(progressSpy.takeFirst().at(0).toInt(), 1); const int result = 10; a.reportResult(&result); - QTest::qWait(10); + QVERIFY(resultReadySpy.wait()); QCOMPARE(resultReadySpy.count(), 1); a.reportFinished(&result); - QTest::qWait(10); - QCOMPARE(resultReadySpy.count(), 2); + QTRY_COMPARE(resultReadySpy.count(), 2); QCOMPARE(resultReadySpy.takeFirst().at(0).toInt(), 0); // check the index QCOMPARE(resultReadySpy.takeFirst().at(0).toInt(), 1); @@ -373,7 +369,7 @@ void tst_QFutureWatcher::watchFinishedFuture() QVERIFY(canceledSpy.isValid()); watcher.setFuture(f); - QTest::qWait(10); + QVERIFY(finishedSpy.wait()); QCOMPARE(startedSpy.count(), 1); QCOMPARE(finishedSpy.count(), 1); @@ -407,7 +403,7 @@ void tst_QFutureWatcher::watchCanceledFuture() QVERIFY(canceledSpy.isValid()); watcher.setFuture(f); - QTest::qWait(10); + QVERIFY(finishedSpy.wait()); QCOMPARE(startedSpy.count(), 1); QCOMPARE(finishedSpy.count(), 1); @@ -434,7 +430,7 @@ void tst_QFutureWatcher::disconnectRunningFuture() const int result = 10; a.reportResult(&result); - QTest::qWait(10); + QVERIFY(resultReadySpy.wait()); QCOMPARE(resultReadySpy.count(), 1); delete watcher; @@ -624,7 +620,7 @@ void tst_QFutureWatcher::changeFuture() QSignalSpy resultReadySpy(&watcher, &QFutureWatcher<int>::resultReadyAt); QVERIFY(resultReadySpy.isValid()); - watcher.setFuture(a); // Watch 'a' which will genere a resultReady event. + watcher.setFuture(a); // Watch 'a' which will generate a resultReady event. watcher.setFuture(b); // But oh no! we're switching to another future QTest::qWait(10); // before the event gets delivered. @@ -633,7 +629,7 @@ void tst_QFutureWatcher::changeFuture() watcher.setFuture(a); watcher.setFuture(b); watcher.setFuture(a); // setting it back gets us one event, not two. - QTest::qWait(10); + QVERIFY(resultReadySpy.wait()); QCOMPARE(resultReadySpy.count(), 1); } @@ -653,13 +649,15 @@ void tst_QFutureWatcher::cancelEvents() SignalSlotObject object; connect(&watcher, SIGNAL(resultReadyAt(int)), &object, SLOT(resultReadyAt(int))); + QSignalSpy finishedSpy(&watcher, &QFutureWatcher<int>::finished); QSignalSpy resultReadySpy(&watcher, &QFutureWatcher<int>::resultReadyAt); + QVERIFY(finishedSpy.isValid()); QVERIFY(resultReadySpy.isValid()); watcher.setFuture(a); watcher.cancel(); - QTest::qWait(10); + QVERIFY(finishedSpy.wait()); QCOMPARE(resultReadySpy.count(), 0); } @@ -730,15 +728,17 @@ void tst_QFutureWatcher::finishedState() iface.reportStarted(); QFuture<int> future = iface.future(); QFutureWatcher<int> watcher; + QSignalSpy startedSpy(&watcher, &QFutureWatcher<int>::started); + QSignalSpy finishedSpy(&watcher, &QFutureWatcher<int>::finished); watcher.setFuture(future); - QTest::qWait(10); + QVERIFY(startedSpy.wait()); iface.reportFinished(); QVERIFY(future.isFinished()); QVERIFY(!watcher.isFinished()); - QTest::qWait(10); + QVERIFY(finishedSpy.wait()); QVERIFY(watcher.isFinished()); } @@ -752,18 +752,20 @@ void tst_QFutureWatcher::throttling() iface.reportStarted(); QFuture<int> future = iface.future(); QFutureWatcher<int> watcher; + QSignalSpy resultSpy(&watcher, &QFutureWatcher<int>::resultReadyAt); watcher.setFuture(future); QVERIFY(!iface.isThrottled()); - for (int i = 0; i < 1000; ++i) { + const int resultCount = 1000; + for (int i = 0; i < resultCount; ++i) { int result = 0; iface.reportResult(result); } QVERIFY(iface.isThrottled()); - QTest::qWait(100); // process events. + QTRY_COMPARE(resultSpy.count(), resultCount); // Process the results QVERIFY(!iface.isThrottled()); diff --git a/tests/auto/corelib/thread/qthread/tst_qthread.cpp b/tests/auto/corelib/thread/qthread/tst_qthread.cpp index 0405896ca7..aee243d880 100644 --- a/tests/auto/corelib/thread/qthread/tst_qthread.cpp +++ b/tests/auto/corelib/thread/qthread/tst_qthread.cpp @@ -988,9 +988,7 @@ void tst_QThread::exitAndStart() connect(&sync2, SIGNAL(propChanged(int)), &sync1, SLOT(setProp(int)), Qt::QueuedConnection); connect(&sync1, SIGNAL(propChanged(int)), &thread, SLOT(quit()), Qt::QueuedConnection); QMetaObject::invokeMethod(&sync2, "setProp", Qt::QueuedConnection , Q_ARG(int, 89)); - QTest::qWait(50); - while(!thread.wait(10)) - QTest::qWait(10); + QTRY_VERIFY(thread.wait(10)); QCOMPARE(sync2.m_prop, 89); QCOMPARE(sync1.m_prop, 89); } @@ -1026,9 +1024,7 @@ void tst_QThread::exitAndExec() connect(&sync2, SIGNAL(propChanged(int)), &sync1, SLOT(setProp(int)), Qt::QueuedConnection); connect(&sync1, SIGNAL(propChanged(int)), &thread, SLOT(quit()), Qt::QueuedConnection); QMetaObject::invokeMethod(&sync2, "setProp", Qt::QueuedConnection , Q_ARG(int, 89)); - QTest::qWait(50); - while(!thread.wait(10)) - QTest::qWait(10); + QTRY_VERIFY(thread.wait(10)); QCOMPARE(sync2.m_prop, 89); QCOMPARE(sync1.m_prop, 89); } diff --git a/tests/auto/network/kernel/qdnslookup/BLACKLIST b/tests/auto/network/kernel/qdnslookup/BLACKLIST index f07a8ce9a3..edf6436384 100644 --- a/tests/auto/network/kernel/qdnslookup/BLACKLIST +++ b/tests/auto/network/kernel/qdnslookup/BLACKLIST @@ -1,2 +1,2 @@ [lookup] -* +ci diff --git a/tests/auto/other/lancelot/paintcommands.cpp b/tests/auto/other/lancelot/paintcommands.cpp index 4e0cb3b835..074644393d 100644 --- a/tests/auto/other/lancelot/paintcommands.cpp +++ b/tests/auto/other/lancelot/paintcommands.cpp @@ -192,7 +192,7 @@ QList<QPair<QString,QStringList> > PaintCommands::s_enumsTable = QList<QPair<QSt QMultiHash<QString, int> PaintCommands::s_commandHash; #define DECL_PAINTCOMMAND(identifier, method, regexp, syntax, sample) \ - s_commandInfoTable << PaintCommandInfos(QLatin1String(identifier), &PaintCommands::method, QRegularExpression(regexp, QRegularExpression::OptimizeOnFirstUsageOption), \ + s_commandInfoTable << PaintCommandInfos(QLatin1String(identifier), &PaintCommands::method, QRegularExpression(regexp), \ QLatin1String(syntax), QLatin1String(sample) ); #define DECL_PAINTCOMMANDSECTION(title) \ @@ -615,6 +615,8 @@ void PaintCommands::staticInit() // populate the command lookup hash for (int i=0; i<s_commandInfoTable.size(); i++) { + // and pre-optimize the regexps. + s_commandInfoTable.at(i).regExp.optimize(); if (s_commandInfoTable.at(i).isSectionHeader() || s_commandInfoTable.at(i).identifier == QLatin1String("comment") || s_commandInfoTable.at(i).identifier == QLatin1String("noop")) @@ -682,6 +684,7 @@ void PaintCommands::insertAt(int commandIndex, const QStringList &newCommands) **********************************************************************************/ void PaintCommands::runCommand(const QString &scriptLine) { + static QRegularExpression separators("\\s"); if (scriptLine.isEmpty()) { command_noop(QRegularExpressionMatch()); return; @@ -690,7 +693,7 @@ void PaintCommands::runCommand(const QString &scriptLine) command_comment(QRegularExpressionMatch()); return; } - QString firstWord = scriptLine.section(QRegularExpression("\\s"), 0, 0); + QString firstWord = scriptLine.section(separators, 0, 0); QList<int> indices = s_commandHash.values(firstWord); foreach(int idx, indices) { PaintCommandInfos command = s_commandInfoTable.at(idx); |