diff options
author | Filippo Cucchetto <filippocucchetto@gmail.com> | 2019-11-05 18:51:28 +0100 |
---|---|---|
committer | Filippo Cucchetto <filippocucchetto@gmail.com> | 2019-11-10 18:18:18 +0000 |
commit | b94688035e659d52f9565c0755f8eb029db345a0 (patch) | |
tree | 5708bfa593c2dc5c8fb60f24786c999193edf4b1 | |
parent | e0c073a1bfe94aa2a645fe76bfb38220025670cc (diff) | |
download | qt-creator-b94688035e659d52f9565c0755f8eb029db345a0.tar.gz |
Nim: Add Nimble test run configuration
Change-Id: Ifafe1032e4f3d81f62ba5ac0d5fb007dac473f58
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
-rw-r--r-- | src/plugins/nim/nimplugin.cpp | 6 | ||||
-rw-r--r-- | src/plugins/nim/project/nimblerunconfiguration.cpp | 26 | ||||
-rw-r--r-- | 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<SimpleTargetRunner>(), {ProjectExplorer::Constants::NORMAL_RUN_MODE}, @@ -84,6 +85,11 @@ public: {ProjectExplorer::Constants::NORMAL_RUN_MODE}, {nimbleRunConfigFactory.id()} }; + RunWorkerFactory nimbleTestWorkerFactory { + RunWorkerFactory::make<SimpleTargetRunner>(), + {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 <utils/algorithm.h> #include <utils/environment.h> +#include <QStandardPaths> + 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<RunConfigurationCreationInfo> NimbleRunConfigurationFactory::availableCrea { return RunConfigurationFactory::availableCreators(parent); } + +NimbleTestConfiguration::NimbleTestConfiguration(Target *target, Core::Id id) + : RunConfiguration(target, id) +{ + addAspect<ExecutableAspect>()->setExecutable(Utils::FilePath::fromString(QStandardPaths::findExecutable("nimble"))); + addAspect<ArgumentsAspect>()->setArguments("test"); + addAspect<WorkingDirectoryAspect>()->setDefaultWorkingDirectory(project()->projectDirectory()); + addAspect<TerminalAspect>(); + + setDisplayName(tr("Nimble Test")); + setDefaultDisplayName(tr("Nimble Test")); +} + +NimbleTestConfigurationFactory::NimbleTestConfigurationFactory() + : FixedRunConfigurationFactory(QString()) +{ + registerRunConfiguration<NimbleTestConfiguration>("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<ProjectExplorer::RunConfigurationCreationInfo> 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(); +}; + } |