static ProjectInfo setupProject(const QByteArray &projectFile, const QByteArray &mainFile, ProjectExplorerHelper &pHelper) { CppModelManagerHelper cppHelper; Project *project = pHelper.openProject(projectFilePath(_(projectFile))); if (!project) return ProjectInfo(); // Wait only for a single file: we don't really care if the file is refreshed or not, but at // this point we know that the C++ model manager got notified of all project parts and we can // retrieve them for inspection. cppHelper.waitForSourceFilesRefreshed(projectFilePath(_(mainFile))); CppModelManagerInterface *mm = cppHelper.cppModelManager(); return mm->projectInfo(project); }
void GenericProjectPlugin::test_simple() { CppModelManagerHelper cppHelper; QString projectFile = _("testdata_simpleproject/simpleproject.creator"); ProjectExplorerHelper pHelper; Project *project = pHelper.openProject(projectFilePath(projectFile)); QVERIFY(project); QString mainFile = projectFilePath(_("testdata_simpleproject/main.cpp")); cppHelper.waitForSourceFilesRefreshed(mainFile); CppModelManagerInterface *mm = cppHelper.cppModelManager(); CppModelManagerInterface::ProjectInfo pInfo = mm->projectInfo(project); QCOMPARE(pInfo.projectParts().size(), 1); ProjectPart::Ptr pPart = pInfo.projectParts().first(); QVERIFY(pPart); QCOMPARE(pPart->files.size(), 1); QCOMPARE(pPart->files.first().path, mainFile); QCOMPARE(pPart->files.first().kind, ProjectFile::CXXSource); }