From b94688035e659d52f9565c0755f8eb029db345a0 Mon Sep 17 00:00:00 2001 From: Filippo Cucchetto Date: Tue, 5 Nov 2019 18:51:28 +0100 Subject: Nim: Add Nimble test run configuration Change-Id: Ifafe1032e4f3d81f62ba5ac0d5fb007dac473f58 Reviewed-by: hjk Reviewed-by: Tobias Hunger --- src/plugins/nim/nimplugin.cpp | 6 +++++ src/plugins/nim/project/nimblerunconfiguration.cpp | 26 +++++++++++++++++----- src/plugins/nim/project/nimblerunconfiguration.h | 16 +++++++++++-- 3 files changed, 41 insertions(+), 7 deletions(-) diff --git a/src/plugins/nim/nimplugin.cpp b/src/plugins/nim/nimplugin.cpp index 152249d4ee..2fe64b1e99 100644 --- a/src/plugins/nim/nimplugin.cpp +++ b/src/plugins/nim/nimplugin.cpp @@ -74,6 +74,7 @@ public: NimbleBuildConfigurationFactory nimbleBuildConfigFactory; NimRunConfigurationFactory nimRunConfigFactory; NimbleRunConfigurationFactory nimbleRunConfigFactory; + NimbleTestConfigurationFactory nimbleTestConfigFactory; RunWorkerFactory nimRunWorkerFactory { RunWorkerFactory::make(), {ProjectExplorer::Constants::NORMAL_RUN_MODE}, @@ -84,6 +85,11 @@ public: {ProjectExplorer::Constants::NORMAL_RUN_MODE}, {nimbleRunConfigFactory.id()} }; + RunWorkerFactory nimbleTestWorkerFactory { + RunWorkerFactory::make(), + {ProjectExplorer::Constants::NORMAL_RUN_MODE}, + {nimbleTestConfigFactory.id()} + }; NimbleBuildStepFactory nimbleBuildStepFactory; NimbleTaskStepFactory nimbleTaskStepFactory; NimCompilerBuildStepFactory buildStepFactory; diff --git a/src/plugins/nim/project/nimblerunconfiguration.cpp b/src/plugins/nim/project/nimblerunconfiguration.cpp index 4e4748ebd8..867f22469b 100644 --- a/src/plugins/nim/project/nimblerunconfiguration.cpp +++ b/src/plugins/nim/project/nimblerunconfiguration.cpp @@ -35,6 +35,8 @@ #include #include +#include + using namespace Nim; using namespace ProjectExplorer; @@ -60,11 +62,6 @@ NimbleRunConfiguration::NimbleRunConfiguration(ProjectExplorer::Target *target, updateTargetInformation(); } -NimbleRunConfiguration::~NimbleRunConfiguration() -{ - -} - void NimbleRunConfiguration::updateTargetInformation() { BuildTargetInfo bti = buildTargetInfo(); @@ -108,3 +105,22 @@ QList NimbleRunConfigurationFactory::availableCrea { return RunConfigurationFactory::availableCreators(parent); } + +NimbleTestConfiguration::NimbleTestConfiguration(Target *target, Core::Id id) + : RunConfiguration(target, id) +{ + addAspect()->setExecutable(Utils::FilePath::fromString(QStandardPaths::findExecutable("nimble"))); + addAspect()->setArguments("test"); + addAspect()->setDefaultWorkingDirectory(project()->projectDirectory()); + addAspect(); + + setDisplayName(tr("Nimble Test")); + setDefaultDisplayName(tr("Nimble Test")); +} + +NimbleTestConfigurationFactory::NimbleTestConfigurationFactory() + : FixedRunConfigurationFactory(QString()) +{ + registerRunConfiguration("Nim.NimbleTestConfiguration"); + addSupportedProjectType(Constants::C_NIMBLEPROJECT_ID); +} diff --git a/src/plugins/nim/project/nimblerunconfiguration.h b/src/plugins/nim/project/nimblerunconfiguration.h index b273fd4f2b..8e370d32cc 100644 --- a/src/plugins/nim/project/nimblerunconfiguration.h +++ b/src/plugins/nim/project/nimblerunconfiguration.h @@ -36,8 +36,6 @@ class NimbleRunConfiguration : public ProjectExplorer::RunConfiguration public: NimbleRunConfiguration(ProjectExplorer::Target *target, Core::Id id); - ~NimbleRunConfiguration(); - QString disabledReason() const override; protected: @@ -58,4 +56,18 @@ protected: QList availableCreators(ProjectExplorer::Target *parent) const override; }; +class NimbleTestConfiguration : public ProjectExplorer::RunConfiguration +{ + Q_OBJECT + +public: + NimbleTestConfiguration(ProjectExplorer::Target *target, Core::Id id); +}; + +class NimbleTestConfigurationFactory : public ProjectExplorer::FixedRunConfigurationFactory +{ +public: + NimbleTestConfigurationFactory(); +}; + } -- cgit v1.2.1