diff options
author | Eike Ziller <eike.ziller@qt.io> | 2019-11-28 08:24:10 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2019-11-28 08:24:10 +0100 |
commit | 6fc85b49fa43c28af6f5726550513fd6974ebae8 (patch) | |
tree | 74f917f587914a27642fe3b97a6130cbd1fac732 /src/plugins/cpptools/cpptoolstestcase.cpp | |
parent | 2059cb31f0544626e12b2fa828ca60f27cd8e2d3 (diff) | |
parent | 6b1d54421e3831576c8d169bf38caf1ab503c84a (diff) | |
download | qt-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.cpp | 21 |
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); } |