From ef403a4515aa93272f6e5155b2897ddd02fb128e Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Tue, 9 Dec 2014 13:01:44 +0100 Subject: GenericProjectManager: Tests: Clean up * Get rid of CppModelManagerHelper. Now we simply use CppModelManager::projectInfo(someProject).isValid() to test whether a project is loaded. * Copy project data to temporary dir before opening the projects. This avoids creating *.user files in the Qt Creator source tree and annoying pop ups on test start. Change-Id: I1a57441ca2099beb6bb96cf620390d669fb47601 Reviewed-by: Christian Stenger --- src/plugins/cpptools/cpptoolstestcase.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'src/plugins/cpptools/cpptoolstestcase.h') diff --git a/src/plugins/cpptools/cpptoolstestcase.h b/src/plugins/cpptools/cpptoolstestcase.h index 5c90cf73b9..d20950ebb4 100644 --- a/src/plugins/cpptools/cpptoolstestcase.h +++ b/src/plugins/cpptools/cpptoolstestcase.h @@ -37,6 +37,7 @@ #include #include +#include namespace CPlusPlus { class Document; @@ -44,6 +45,7 @@ class Snapshot; } namespace Core { class IEditor; } +namespace ProjectExplorer { class Project; } namespace TextEditor { class BaseTextEditor; @@ -87,6 +89,8 @@ public: static CPlusPlus::Snapshot globalSnapshot(); static bool garbageCollectGlobalSnapshot(); + static bool waitUntilCppModelManagerIsAwareOf(ProjectExplorer::Project *project, + int timeOut = 30 * 1000 /*= 30 secs*/); static CPlusPlus::Document::Ptr waitForFileInGlobalSnapshot(const QString &filePath); static QList waitForFilesInGlobalSnapshot( const QStringList &filePaths); @@ -102,6 +106,32 @@ private: bool m_runGarbageCollector; }; +class CPPTOOLS_EXPORT ProjectOpenerAndCloser +{ +public: + ProjectOpenerAndCloser(); + ~ProjectOpenerAndCloser(); // Closes opened projects + + ProjectInfo open(const QString &projectFile); + +private: + QList m_openProjects; +}; + +class CPPTOOLS_EXPORT TemporaryCopiedDir +{ +public: + TemporaryCopiedDir(const QString &sourceDirPath); + + bool isValid() const { return m_isValid; } + QString path() const { return m_temporaryDir.path(); } + QString absolutePath(const QByteArray &relativePath) const; + +private: + QTemporaryDir m_temporaryDir; + bool m_isValid; +}; + class FileWriterAndRemover { public: -- cgit v1.2.1