summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippo Cucchetto <filippocucchetto@gmail.com>2019-11-05 18:51:28 +0100
committerFilippo Cucchetto <filippocucchetto@gmail.com>2019-11-10 18:18:18 +0000
commitb94688035e659d52f9565c0755f8eb029db345a0 (patch)
tree5708bfa593c2dc5c8fb60f24786c999193edf4b1
parente0c073a1bfe94aa2a645fe76bfb38220025670cc (diff)
downloadqt-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.cpp6
-rw-r--r--src/plugins/nim/project/nimblerunconfiguration.cpp26
-rw-r--r--src/plugins/nim/project/nimblerunconfiguration.h16
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();
+};
+
}