summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/auto/versit/qversitreader/BLACKLIST2
-rw-r--r--tests/auto/versit/qversitreader/tst_qversitreader.cpp19
2 files changed, 15 insertions, 6 deletions
diff --git a/tests/auto/versit/qversitreader/BLACKLIST b/tests/auto/versit/qversitreader/BLACKLIST
index 598396600..e69de29bb 100644
--- a/tests/auto/versit/qversitreader/BLACKLIST
+++ b/tests/auto/versit/qversitreader/BLACKLIST
@@ -1,2 +0,0 @@
-[testReading]
-*
diff --git a/tests/auto/versit/qversitreader/tst_qversitreader.cpp b/tests/auto/versit/qversitreader/tst_qversitreader.cpp
index 43064b20b..00c9a804a 100644
--- a/tests/auto/versit/qversitreader/tst_qversitreader.cpp
+++ b/tests/auto/versit/qversitreader/tst_qversitreader.cpp
@@ -472,10 +472,19 @@ void tst_QVersitReader::testReading()
// calling setData directly on reader
mReader->setData(validDocumentsAndGroupedDocument);
- QVERIFY(mReader->startReading());
- mReader->waitForFinished();
+ mSignalCatcher->mStateChanges.clear();
+ mSignalCatcher->mResultsCount = 0;
+ QVERIFY2(mReader->startReading(), QString::number(mReader->error()).toLatin1().data());
+ QVERIFY2(mReader->waitForFinished(), QString::number(mReader->error()).toLatin1().data());
+ QTRY_VERIFY(mSignalCatcher->mStateChanges.count() >= 2); // signals sent from other thread, so wait for delivery
+ QCOMPARE(mSignalCatcher->mStateChanges.at(0), QVersitReader::ActiveState);
+ QCOMPARE(mSignalCatcher->mStateChanges.at(1), QVersitReader::FinishedState);
+ QCOMPARE(mReader->state(), QVersitReader::FinishedState);
+ QCOMPARE(mReader->error(), QVersitReader::NoError);
QCOMPARE(mReader->results().size(), 5);
+ qApp->processEvents(); // clean up before we start sniffing signals
+
// Asynchronous reading
mReader->setDevice(mInputDevice);
mInputDevice->close();
@@ -485,13 +494,15 @@ void tst_QVersitReader::testReading()
mSignalCatcher->mStateChanges.clear();
mSignalCatcher->mResultsCount = 0;
QVERIFY2(mReader->startReading(), QString::number(mReader->error()).toLatin1().data());
- QTRY_VERIFY(mSignalCatcher->mStateChanges.count() >= 2);
+ QTRY_VERIFY(mSignalCatcher->mStateChanges.count() >= 2); // signals sent from other thread, so wait for delivery
QCOMPARE(mSignalCatcher->mStateChanges.at(0), QVersitReader::ActiveState);
QCOMPARE(mSignalCatcher->mStateChanges.at(1), QVersitReader::FinishedState);
QVERIFY(mSignalCatcher->mResultsCount >= 2);
QCOMPARE(mReader->results().size(), 2);
QCOMPARE(mReader->error(), QVersitReader::NoError);
+ qApp->processEvents(); // clean up before we start sniffing signals
+
// Cancelling
mInputDevice->close();
mInputDevice->setData(twoDocuments);
@@ -502,7 +513,7 @@ void tst_QVersitReader::testReading()
QVERIFY2(mReader->startReading(), QString::number(mReader->error()).toLatin1().data());
mReader->cancel();
mReader->waitForFinished();
- QTRY_VERIFY(mSignalCatcher->mStateChanges.count() >= 2);
+ QTRY_VERIFY(mSignalCatcher->mStateChanges.count() >= 2); // signals sent from other thread, so wait for delivery
QCOMPARE(mSignalCatcher->mStateChanges.at(0), QVersitReader::ActiveState);
QVersitReader::State state(mSignalCatcher->mStateChanges.at(1));
// It's possible that it finishes before it cancels.