diff options
Diffstat (limited to 'src/plugins/genericprojectmanager')
11 files changed, 79 insertions, 253 deletions
diff --git a/src/plugins/genericprojectmanager/cppmodelmanagerhelper.cpp b/src/plugins/genericprojectmanager/cppmodelmanagerhelper.cpp deleted file mode 100644 index f359b3614c..0000000000 --- a/src/plugins/genericprojectmanager/cppmodelmanagerhelper.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms and -** conditions see http://www.qt.io/terms-conditions. For further information -** use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 or version 3 as published by the Free -** Software Foundation and appearing in the file LICENSE.LGPLv21 and -** LICENSE.LGPLv3 included in the packaging of this file. Please review the -** following information to ensure the GNU Lesser General Public License -** requirements will be met: https://www.gnu.org/licenses/lgpl.html and -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, The Qt Company gives you certain additional -** rights. These rights are described in The Qt Company LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -****************************************************************************/ - -#include "cppmodelmanagerhelper.h" - -#include <QCoreApplication> -#include <QTest> -#include <QThread> - -using namespace CppTools; -using namespace GenericProjectManager::Internal::Tests; - -CppModelManagerHelper::CppModelManagerHelper(QObject *parent) - : QObject(parent) - , m_spy(cppModelManager(), SIGNAL(sourceFilesRefreshed(const QSet<QString> &))) -{ - connect(cppModelManager(), &CppModelManager::sourceFilesRefreshed, - this, &CppModelManagerHelper::onSourceFilesRefreshed); -} - -CppModelManager *CppModelManagerHelper::cppModelManager() -{ - return CppModelManager::instance(); -} - -void CppModelManagerHelper::waitForSourceFilesRefreshed(const QString &file, int timeOut) -{ - waitForSourceFilesRefreshed(QStringList() << file, timeOut); -} - -void CppModelManagerHelper::waitForSourceFilesRefreshed(const QStringList &files, int timeOut) -{ - QTime t; - t.start(); - - foreach (const QString &file, files) { - while (!m_refreshedSourceFiles.contains(file)) - QCoreApplication::processEvents(); - QVERIFY(t.elapsed() <= timeOut); - } - QCOMPARE(m_spy.count(), 1); -} - -void CppModelManagerHelper::onSourceFilesRefreshed(const QSet<QString> &files) -{ - m_refreshedSourceFiles.unite(files); -} diff --git a/src/plugins/genericprojectmanager/cppmodelmanagerhelper.h b/src/plugins/genericprojectmanager/cppmodelmanagerhelper.h deleted file mode 100644 index 61fc4973cf..0000000000 --- a/src/plugins/genericprojectmanager/cppmodelmanagerhelper.h +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms and -** conditions see http://www.qt.io/terms-conditions. For further information -** use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 or version 3 as published by the Free -** Software Foundation and appearing in the file LICENSE.LGPLv21 and -** LICENSE.LGPLv3 included in the packaging of this file. Please review the -** following information to ensure the GNU Lesser General Public License -** requirements will be met: https://www.gnu.org/licenses/lgpl.html and -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, The Qt Company gives you certain additional -** rights. These rights are described in The Qt Company LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -****************************************************************************/ - -#ifndef CPPMODELMANAGERHELPER_H -#define CPPMODELMANAGERHELPER_H - -#include <cpptools/cppmodelmanager.h> - -#include <QObject> -#include <QSignalSpy> - -namespace GenericProjectManager { -namespace Internal { -namespace Tests { - -class CppModelManagerHelper : public QObject -{ - Q_OBJECT -public: - explicit CppModelManagerHelper(QObject *parent = 0); - - static CppTools::CppModelManager *cppModelManager(); - - enum { defaultTimeOut = 30 * 1000 }; // 30 secs - void waitForSourceFilesRefreshed(const QString &file = QString(), int timeOut = defaultTimeOut); - void waitForSourceFilesRefreshed(const QStringList &files, int timeOut = defaultTimeOut); - -private: - void onSourceFilesRefreshed(const QSet<QString> &files); - - QSet<QString> m_refreshedSourceFiles; - QSignalSpy m_spy; -}; - -} // Tests namespace -} // Internal namespace -} // GenericProjectManager namespace - -#endif // CPPMODELMANAGERHELPER_H diff --git a/src/plugins/genericprojectmanager/filesselectionwizardpage.cpp b/src/plugins/genericprojectmanager/filesselectionwizardpage.cpp index aca9f9da41..5e4bc5446b 100644 --- a/src/plugins/genericprojectmanager/filesselectionwizardpage.cpp +++ b/src/plugins/genericprojectmanager/filesselectionwizardpage.cpp @@ -115,7 +115,7 @@ void FilesSelectionWizardPage::createApplyButton(QVBoxLayout *layout) hbox->addWidget(m_applyFilterButton); layout->addLayout(hbox); - connect(m_applyFilterButton, SIGNAL(clicked()), this, SLOT(applyFilter())); + connect(m_applyFilterButton, &QPushButton::clicked, this, &FilesSelectionWizardPage::applyFilter); } void FilesSelectionWizardPage::initializePage() @@ -123,10 +123,10 @@ void FilesSelectionWizardPage::initializePage() m_view->setModel(0); delete m_model; m_model = new ProjectExplorer::SelectableFilesModel(this); - connect(m_model, SIGNAL(parsingProgress(QString)), - this, SLOT(parsingProgress(QString))); - connect(m_model, SIGNAL(parsingFinished()), - this, SLOT(parsingFinished())); + connect(m_model, &ProjectExplorer::SelectableFilesModel::parsingProgress, + this, &FilesSelectionWizardPage::parsingProgress); + connect(m_model, &ProjectExplorer::SelectableFilesModel::parsingFinished, + this, &FilesSelectionWizardPage::parsingFinished); m_model->startParsing(m_genericProjectWizardDialog->path()); m_hideFilesFilterLabel->setVisible(false); diff --git a/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp b/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp index 6b90d283f4..8c0b6686ca 100644 --- a/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp +++ b/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp @@ -95,7 +95,7 @@ int GenericBuildConfigurationFactory::priority(const Target *parent) const QList<BuildInfo *> GenericBuildConfigurationFactory::availableBuilds(const Target *parent) const { - QList<ProjectExplorer::BuildInfo *> result; + QList<BuildInfo *> result; BuildInfo *info = createBuildInfo(parent->kit(), parent->project()->projectDirectory()); result << info; return result; @@ -110,7 +110,7 @@ int GenericBuildConfigurationFactory::priority(const Kit *k, const QString &proj QList<BuildInfo *> GenericBuildConfigurationFactory::availableSetups(const Kit *k, const QString &projectPath) const { QList<BuildInfo *> result; - BuildInfo *info = createBuildInfo(k, ProjectExplorer::Project::projectDirectory(Utils::FileName::fromString(projectPath))); + BuildInfo *info = createBuildInfo(k, Project::projectDirectory(Utils::FileName::fromString(projectPath))); //: The name of the build configuration created by default for a generic project. info->displayName = tr("Default"); result << info; @@ -184,7 +184,7 @@ bool GenericBuildConfigurationFactory::canHandle(const Target *t) const return qobject_cast<GenericProject *>(t->project()); } -BuildInfo *GenericBuildConfigurationFactory::createBuildInfo(const ProjectExplorer::Kit *k, +BuildInfo *GenericBuildConfigurationFactory::createBuildInfo(const Kit *k, const Utils::FileName &buildDir) const { BuildInfo *info = new BuildInfo(this); @@ -215,7 +215,8 @@ GenericBuildSettingsWidget::GenericBuildSettingsWidget(GenericBuildConfiguration m_pathChooser->setHistoryCompleter(QLatin1String("Generic.BuildDir.History")); m_pathChooser->setEnabled(true); fl->addRow(tr("Build directory:"), m_pathChooser); - connect(m_pathChooser, SIGNAL(changed(QString)), this, SLOT(buildDirectoryChanged())); + connect(m_pathChooser, &Utils::PathChooser::changed, + this, &GenericBuildSettingsWidget::buildDirectoryChanged); m_buildConfiguration = bc; m_pathChooser->setBaseFileName(bc->target()->project()->projectDirectory()); @@ -223,7 +224,8 @@ GenericBuildSettingsWidget::GenericBuildSettingsWidget(GenericBuildConfiguration m_pathChooser->setPath(m_buildConfiguration->rawBuildDirectory().toString()); setDisplayName(tr("Generic Manager")); - connect(bc, SIGNAL(environmentChanged()), this, SLOT(environmentHasChanged())); + connect(bc, &GenericBuildConfiguration::environmentChanged, + this, &GenericBuildSettingsWidget::environmentHasChanged); } void GenericBuildSettingsWidget::buildDirectoryChanged() diff --git a/src/plugins/genericprojectmanager/genericmakestep.cpp b/src/plugins/genericprojectmanager/genericmakestep.cpp index c85b98cd4c..1235c8ed0b 100644 --- a/src/plugins/genericprojectmanager/genericmakestep.cpp +++ b/src/plugins/genericprojectmanager/genericmakestep.cpp @@ -245,12 +245,12 @@ GenericMakeStepConfigWidget::GenericMakeStepConfigWidget(GenericMakeStep *makeSt updateMakeOverrrideLabel(); updateDetails(); - connect(m_ui->targetsList, SIGNAL(itemChanged(QListWidgetItem*)), - this, SLOT(itemChanged(QListWidgetItem*))); - connect(m_ui->makeLineEdit, SIGNAL(textEdited(QString)), - this, SLOT(makeLineEditTextEdited())); - connect(m_ui->makeArgumentsLineEdit, SIGNAL(textEdited(QString)), - this, SLOT(makeArgumentsLineEditTextEdited())); + connect(m_ui->targetsList, &QListWidget::itemChanged, + this, &GenericMakeStepConfigWidget::itemChanged); + connect(m_ui->makeLineEdit, &QLineEdit::textEdited, + this, &GenericMakeStepConfigWidget::makeLineEditTextEdited); + connect(m_ui->makeArgumentsLineEdit, &QLineEdit::textEdited, + this, &GenericMakeStepConfigWidget::makeArgumentsLineEditTextEdited); connect(ProjectExplorerPlugin::instance(), SIGNAL(settingsChanged()), this, SLOT(updateMakeOverrrideLabel())); @@ -260,10 +260,10 @@ GenericMakeStepConfigWidget::GenericMakeStepConfigWidget(GenericMakeStep *makeSt connect(m_makeStep->target(), SIGNAL(kitChanged()), this, SLOT(updateMakeOverrrideLabel())); - connect(pro, SIGNAL(environmentChanged()), - this, SLOT(updateMakeOverrrideLabel())); - connect(pro, SIGNAL(environmentChanged()), - this, SLOT(updateDetails())); + connect(pro, &GenericProject::environmentChanged, + this, &GenericMakeStepConfigWidget::updateMakeOverrrideLabel); + connect(pro, &GenericProject::environmentChanged, + this, &GenericMakeStepConfigWidget::updateDetails); } GenericMakeStepConfigWidget::~GenericMakeStepConfigWidget() diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp index 9f32515e8a..9265fc4e54 100644 --- a/src/plugins/genericprojectmanager/genericproject.cpp +++ b/src/plugins/genericprojectmanager/genericproject.cpp @@ -352,16 +352,14 @@ void GenericProject::refreshCppCodeModel() m_codeModelFuture.cancel(); - CppTools::ProjectInfo pInfo = modelManager->projectInfo(this); - pInfo.clearProjectParts(); - + CppTools::ProjectInfo pInfo = CppTools::ProjectInfo(this); CppTools::ProjectPartBuilder ppBuilder(pInfo); ppBuilder.setIncludePaths(projectIncludePaths()); ppBuilder.setConfigFileName(configFileName()); ppBuilder.setCxxFlags(QStringList() << QLatin1String("-std=c++11")); - const QList<Core::Id> languages = ppBuilder.createProjectPartsForFiles(files()); - foreach (Core::Id language, languages) + const QList<Id> languages = ppBuilder.createProjectPartsForFiles(files()); + foreach (Id language, languages) setProjectLanguage(language, true); pInfo.finish(); @@ -449,7 +447,7 @@ GenericProjectFile::GenericProjectFile(GenericProject *parent, QString fileName, { setId("Generic.ProjectFile"); setMimeType(QLatin1String(Constants::GENERICMIMETYPE)); - setFilePath(fileName); + setFilePath(Utils::FileName::fromString(fileName)); } bool GenericProjectFile::save(QString *, const QString &, bool) diff --git a/src/plugins/genericprojectmanager/genericprojectmanager.pro b/src/plugins/genericprojectmanager/genericprojectmanager.pro index 72911ca688..c0da34edc9 100644 --- a/src/plugins/genericprojectmanager/genericprojectmanager.pro +++ b/src/plugins/genericprojectmanager/genericprojectmanager.pro @@ -23,7 +23,6 @@ RESOURCES += genericproject.qrc FORMS += genericmakestep.ui equals(TEST, 1) { - SOURCES += genericprojectplugin_test.cpp cppmodelmanagerhelper.cpp - HEADERS += cppmodelmanagerhelper.h + SOURCES += genericprojectplugin_test.cpp DEFINES += SRCDIR=\\\"$$PWD\\\" } diff --git a/src/plugins/genericprojectmanager/genericprojectmanager.qbs b/src/plugins/genericprojectmanager/genericprojectmanager.qbs index 62572d4457..9de35a1d49 100644 --- a/src/plugins/genericprojectmanager/genericprojectmanager.qbs +++ b/src/plugins/genericprojectmanager/genericprojectmanager.qbs @@ -40,10 +40,7 @@ QtcPlugin { Group { name: "Tests" condition: project.testsEnabled - files: [ - "cppmodelmanagerhelper.cpp", "cppmodelmanagerhelper.h", - "genericprojectplugin_test.cpp", - ] + files: [ "genericprojectplugin_test.cpp" ] cpp.defines: outer.concat(['SRCDIR="' + FileInfo.path(filePath) + '"']) } diff --git a/src/plugins/genericprojectmanager/genericprojectnodes.cpp b/src/plugins/genericprojectmanager/genericprojectnodes.cpp index 07d51f5718..75bbb4d6bc 100644 --- a/src/plugins/genericprojectmanager/genericprojectnodes.cpp +++ b/src/plugins/genericprojectmanager/genericprojectnodes.cpp @@ -43,9 +43,11 @@ namespace GenericProjectManager { namespace Internal { GenericProjectNode::GenericProjectNode(GenericProject *project, Core::IDocument *projectFile) - : ProjectNode(projectFile->filePath()), m_project(project), m_projectFile(projectFile) + : ProjectNode(projectFile->filePath().toString()) + , m_project(project) + , m_projectFile(projectFile) { - setDisplayName(QFileInfo(projectFile->filePath()).completeBaseName()); + setDisplayName(projectFile->filePath().toFileInfo().completeBaseName()); } Core::IDocument *GenericProjectNode::projectFile() const @@ -55,7 +57,7 @@ Core::IDocument *GenericProjectNode::projectFile() const QString GenericProjectNode::projectFilePath() const { - return m_projectFile->filePath(); + return m_projectFile->filePath().toString(); } QHash<QString, QStringList> sortFilesIntoPaths(const QString &base, const QSet<QString> &files) @@ -211,7 +213,7 @@ bool GenericProjectNode::showInSimpleTree() const return true; } -QList<ProjectExplorer::ProjectAction> GenericProjectNode::supportedActions(Node *node) const +QList<ProjectAction> GenericProjectNode::supportedActions(Node *node) const { Q_UNUSED(node); return QList<ProjectAction>() diff --git a/src/plugins/genericprojectmanager/genericprojectplugin.cpp b/src/plugins/genericprojectmanager/genericprojectplugin.cpp index ce482d621a..32f5466671 100644 --- a/src/plugins/genericprojectmanager/genericprojectplugin.cpp +++ b/src/plugins/genericprojectmanager/genericprojectplugin.cpp @@ -44,7 +44,7 @@ #include <coreplugin/actionmanager/actioncontainer.h> #include <projectexplorer/projectexplorerconstants.h> -#include <projectexplorer/projectexplorer.h> +#include <projectexplorer/projecttree.h> #include <projectexplorer/selectablefilesmodel.h> #include <QtPlugin> @@ -82,10 +82,9 @@ bool GenericProjectPlugin::initialize(const QStringList &, QString *errorMessage command->setAttribute(Command::CA_Hide); mproject->addAction(command, ProjectExplorer::Constants::G_PROJECT_FILES); - connect(editFilesAction, &QAction::triggered, - this, &GenericProjectPlugin::editFiles); + connect(editFilesAction, &QAction::triggered, this, &GenericProjectPlugin::editFiles); - connect(ProjectExplorerPlugin::instance(), &ProjectExplorerPlugin::aboutToShowContextMenu, + connect(ProjectTree::instance(), &ProjectTree::aboutToShowContextMenu, [this] (Project *project, Node *) { m_contextMenuProject = project; }); return true; diff --git a/src/plugins/genericprojectmanager/genericprojectplugin_test.cpp b/src/plugins/genericprojectmanager/genericprojectplugin_test.cpp index d1e8d641e8..2be04fd3d7 100644 --- a/src/plugins/genericprojectmanager/genericprojectplugin_test.cpp +++ b/src/plugins/genericprojectmanager/genericprojectplugin_test.cpp @@ -28,100 +28,61 @@ ** ****************************************************************************/ -#include "cppmodelmanagerhelper.h" #include "genericprojectplugin.h" #include <projectexplorer/project.h> #include <projectexplorer/projectexplorer.h> #include <projectexplorer/session.h> +#include <cpptools/cppmodelmanager.h> +#include <cpptools/cpptoolstestcase.h> + #include <QFileInfo> #include <QTest> using namespace CppTools; +using namespace CppTools::Tests; using namespace GenericProjectManager; using namespace GenericProjectManager::Internal; -using namespace GenericProjectManager::Internal::Tests; using namespace ProjectExplorer; -inline static QString _(const QByteArray &ba) { return QString::fromLatin1(ba, ba.size()); } -inline static QString projectFilePath(const QString &project) +namespace { + +inline QString _(const QByteArray &ba) { return QString::fromLatin1(ba, ba.size()); } +inline QString sourceProjectPath(const QString &project) { const QString fileName(_(SRCDIR "/../../../tests/genericprojectmanager/") + project); return QFileInfo(fileName).absoluteFilePath(); } -namespace { -class ProjectExplorerHelper -{ -public: - ProjectExplorerHelper() - { - QVERIFY(!SessionManager::hasProjects()); - } - - ~ProjectExplorerHelper() - { - foreach (Project *project, m_openProjects) - ProjectExplorerPlugin::unloadProject(project); - } - - Project *openProject(const QString &projectFile) - { - QString error; - Project *project = ProjectExplorerPlugin::openProject(projectFile, &error); - if (!error.isEmpty()) - qWarning() << error; - if (!project) - return 0; - m_openProjects.append(project); - return project; - } - -private: - QList<Project *> m_openProjects; -}; } // anonymous namespace -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))); - - CppModelManager *mm = cppHelper.cppModelManager(); - return mm->projectInfo(project); -} - void GenericProjectPlugin::test_simple() { - ProjectExplorerHelper pHelper; + Tests::VerifyCleanCppModelManager verify; + + TemporaryCopiedDir temporaryDir(sourceProjectPath(_("testdata_simpleproject"))); + QVERIFY(temporaryDir.isValid()); + const QString mainFile = temporaryDir.absolutePath("main.cpp"); + const QString projectFile = temporaryDir.absolutePath("simpleproject.creator"); - const QByteArray mainFile("testdata_simpleproject/main.cpp"); - ProjectInfo pInfo( - setupProject("testdata_simpleproject/simpleproject.creator", mainFile, pHelper)); + ProjectOpenerAndCloser projects; + const ProjectInfo pInfo = projects.open(projectFile); QVERIFY(pInfo.isValid()); QCOMPARE(pInfo.projectParts().size(), 1); ProjectPart::Ptr pPart = pInfo.projectParts().first(); QVERIFY(pPart); QCOMPARE(pPart->files.size(), 1); - QCOMPARE(pPart->files.first().path, projectFilePath(_(mainFile))); + QCOMPARE(pPart->files.first().path, mainFile); QCOMPARE(pPart->files.first().kind, ProjectFile::CXXSource); } -static QStringList simplify(const QList<CppTools::ProjectFile> &files, const QString &prefix) +static QStringList simplify(const QList<ProjectFile> &files, const QString &prefix) { QStringList result; - foreach (const CppTools::ProjectFile &file, files) { + foreach (const ProjectFile &file, files) { if (file.path.startsWith(prefix)) result.append(file.path.mid(prefix.size())); else @@ -133,11 +94,14 @@ static QStringList simplify(const QList<CppTools::ProjectFile> &files, const QSt void GenericProjectPlugin::test_mixed1() { - ProjectExplorerHelper pHelper; - ProjectInfo pInfo( - setupProject("testdata_mixedproject1/mixedproject1.creator", - "testdata_mixedproject1/main.cpp", - pHelper)); + Tests::VerifyCleanCppModelManager verify; + + TemporaryCopiedDir temporaryDir(sourceProjectPath(_("testdata_mixedproject1/"))); + QVERIFY(temporaryDir.isValid()); + const QString projectFile = temporaryDir.absolutePath("mixedproject1.creator"); + + ProjectOpenerAndCloser projects; + const ProjectInfo pInfo = projects.open(projectFile); QVERIFY(pInfo.isValid()); QCOMPARE(pInfo.projectParts().size(), 3); @@ -147,9 +111,10 @@ void GenericProjectPlugin::test_mixed1() return p1->displayName < p2->displayName; }); - QStringList part0files = simplify(parts[0]->files,projectFilePath(_("testdata_mixedproject1/"))); - QStringList part1files = simplify(parts[1]->files,projectFilePath(_("testdata_mixedproject1/"))); - QStringList part2files = simplify(parts[2]->files,projectFilePath(_("testdata_mixedproject1/"))); + const QString dirPathWithSlash = temporaryDir.path() + QLatin1Char('/'); + const QStringList part0files = simplify(parts[0]->files, dirPathWithSlash); + const QStringList part1files = simplify(parts[1]->files, dirPathWithSlash); + const QStringList part2files = simplify(parts[2]->files, dirPathWithSlash); QCOMPARE(parts[0]->displayName, _("mixedproject1 (C++11)")); QCOMPARE(parts[0]->files.size(), 4); @@ -178,11 +143,14 @@ void GenericProjectPlugin::test_mixed1() void GenericProjectPlugin::test_mixed2() { - ProjectExplorerHelper pHelper; - ProjectInfo pInfo( - setupProject("testdata_mixedproject2/mixedproject2.creator", - "testdata_mixedproject2/main.cpp", - pHelper)); + Tests::VerifyCleanCppModelManager verify; + + TemporaryCopiedDir temporaryDir(sourceProjectPath(_("testdata_mixedproject2/"))); + QVERIFY(temporaryDir.isValid()); + const QString projectFile = temporaryDir.absolutePath("mixedproject2.creator"); + + ProjectOpenerAndCloser projects; + const ProjectInfo pInfo = projects.open(projectFile); QVERIFY(pInfo.isValid()); QCOMPARE(pInfo.projectParts().size(), 2); @@ -192,8 +160,9 @@ void GenericProjectPlugin::test_mixed2() return p1->displayName < p2->displayName; }); - QStringList part0files = simplify(parts[0]->files,projectFilePath(_("testdata_mixedproject2/"))); - QStringList part1files = simplify(parts[1]->files,projectFilePath(_("testdata_mixedproject2/"))); + const QString dirPathWithSlash = temporaryDir.path() + QLatin1Char('/'); + const QStringList part0files = simplify(parts[0]->files, dirPathWithSlash); + const QStringList part1files = simplify(parts[1]->files, dirPathWithSlash); QCOMPARE(parts[0]->displayName, _("mixedproject2 (C++11)")); QCOMPARE(parts[0]->files.size(), 2); |