forked from qt-creator/qt-creator
AutoTest: Fix flaky unit test
Since parsing and updating the tree model has been changed the respective tests became flaky. Change-Id: I82fcde51493bc86e2315018b21e9bacd8e8409a9 Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
This commit is contained in:
@@ -96,7 +96,9 @@ void AutoTestUnitTests::testCodeParser()
|
||||
QVERIFY(projectInfo.isValid());
|
||||
|
||||
QSignalSpy parserSpy(m_model->parser(), SIGNAL(parsingFinished()));
|
||||
QSignalSpy modelUpdateSpy(m_model, SIGNAL(sweepingDone()));
|
||||
QVERIFY(parserSpy.wait(20000));
|
||||
QVERIFY(modelUpdateSpy.wait());
|
||||
|
||||
if (m_isQt4)
|
||||
expectedNamedQuickTestsCount = expectedUnnamedQuickTestsCount = 0;
|
||||
@@ -148,7 +150,9 @@ void AutoTestUnitTests::testCodeParserSwitchStartup()
|
||||
QVERIFY(projectInfo.isValid());
|
||||
|
||||
QSignalSpy parserSpy(m_model->parser(), SIGNAL(parsingFinished()));
|
||||
QSignalSpy modelUpdateSpy(m_model, SIGNAL(sweepingDone()));
|
||||
QVERIFY(parserSpy.wait(20000));
|
||||
QVERIFY(modelUpdateSpy.wait());
|
||||
|
||||
QCOMPARE(m_model->autoTestsCount(), expectedAutoTestsCount.at(i));
|
||||
QCOMPARE(m_model->namedQuickTestsCount(),
|
||||
@@ -198,7 +202,9 @@ void AutoTestUnitTests::testCodeParserGTest()
|
||||
QVERIFY(projectInfo.isValid());
|
||||
|
||||
QSignalSpy parserSpy(m_model->parser(), SIGNAL(parsingFinished()));
|
||||
QSignalSpy modelUpdateSpy(m_model, SIGNAL(sweepingDone()));
|
||||
QVERIFY(parserSpy.wait(20000));
|
||||
QVERIFY(modelUpdateSpy.wait());
|
||||
|
||||
QCOMPARE(m_model->gtestNamesCount(), 6);
|
||||
|
||||
|
||||
@@ -63,6 +63,10 @@ public:
|
||||
void setState(State state);
|
||||
State state() const { return m_parserState; }
|
||||
void setDirty() { m_dirty = true; }
|
||||
#ifdef WITH_TESTS
|
||||
bool furtherParsingExpected() const
|
||||
{ return m_singleShotScheduled || m_fullUpdatePostponed || m_partialUpdatePostponed; }
|
||||
#endif
|
||||
|
||||
signals:
|
||||
void aboutToPerformFullParse();
|
||||
|
||||
@@ -569,6 +569,10 @@ void TestTreeModel::sweep()
|
||||
}
|
||||
if (hasChanged)
|
||||
emit testTreeModelChanged();
|
||||
#ifdef WITH_TESTS
|
||||
if (m_parser->state() == TestCodeParser::Idle && !m_parser->furtherParsingExpected())
|
||||
emit sweepingDone();
|
||||
#endif
|
||||
}
|
||||
|
||||
QMap<QString, QString> TestTreeModel::testCaseNamesForFiles(QStringList files)
|
||||
|
||||
@@ -85,6 +85,9 @@ public:
|
||||
|
||||
signals:
|
||||
void testTreeModelChanged();
|
||||
#ifdef WITH_TESTS
|
||||
void sweepingDone();
|
||||
#endif
|
||||
|
||||
public slots:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user