summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cpptoolstestcase.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2019-11-28 08:24:10 +0100
committerEike Ziller <eike.ziller@qt.io>2019-11-28 08:24:10 +0100
commit6fc85b49fa43c28af6f5726550513fd6974ebae8 (patch)
tree74f917f587914a27642fe3b97a6130cbd1fac732 /src/plugins/cpptools/cpptoolstestcase.cpp
parent2059cb31f0544626e12b2fa828ca60f27cd8e2d3 (diff)
parent6b1d54421e3831576c8d169bf38caf1ab503c84a (diff)
downloadqt-creator-6fc85b49fa43c28af6f5726550513fd6974ebae8.tar.gz
Merge remote-tracking branch 'origin/4.11'
Conflicts: src/plugins/designer/codemodelhelpers.cpp Change-Id: I78906f2fbbfd27d254589a272ebca423b0b80699
Diffstat (limited to 'src/plugins/cpptools/cpptoolstestcase.cpp')
-rw-r--r--src/plugins/cpptools/cpptoolstestcase.cpp21
1 files changed, 8 insertions, 13 deletions
diff --git a/src/plugins/cpptools/cpptoolstestcase.cpp b/src/plugins/cpptools/cpptoolstestcase.cpp
index b9ba701aeb..8040e3f811 100644
--- a/src/plugins/cpptools/cpptoolstestcase.cpp
+++ b/src/plugins/cpptools/cpptoolstestcase.cpp
@@ -226,22 +226,17 @@ QList<CPlusPlus::Document::Ptr> TestCase::waitForFilesInGlobalSnapshot(const QSt
return result;
}
-bool TestCase::waitUntilCppModelManagerIsAwareOf(Project *project, int timeOutInMs)
+bool TestCase::waitUntilProjectIsFullyOpened(Project *project, int timeOutInMs)
{
if (!project)
return false;
- QElapsedTimer t;
- t.start();
-
- CppModelManager *modelManager = CppModelManager::instance();
- forever {
- if (modelManager->projectInfo(project).isValid())
- return true;
- if (t.elapsed() > timeOutInMs)
- return false;
- QCoreApplication::processEvents();
- }
+ return QTest::qWaitFor(
+ [project]() {
+ return !project->isParsing()
+ && CppModelManager::instance()->projectInfo(project).isValid();
+ },
+ timeOutInMs);
}
bool TestCase::writeFile(const QString &filePath, const QByteArray &contents)
@@ -293,7 +288,7 @@ ProjectInfo ProjectOpenerAndCloser::open(const QString &projectFile, bool config
if (configureAsExampleProject)
project->configureAsExampleProject();
- if (TestCase::waitUntilCppModelManagerIsAwareOf(project)) {
+ if (TestCase::waitUntilProjectIsFullyOpened(project)) {
m_openProjects.append(project);
return CppModelManager::instance()->projectInfo(project);
}