diff --git a/src/plugins/autotest/testconfiguration.cpp b/src/plugins/autotest/testconfiguration.cpp index f5c24c49bb4..db39b91bbaf 100644 --- a/src/plugins/autotest/testconfiguration.cpp +++ b/src/plugins/autotest/testconfiguration.cpp @@ -187,7 +187,7 @@ void TestConfiguration::completeTestInformation(int runMode) setProject(project); setGuessedConfiguration(guessedRunConfiguration); if (!guessedRunConfiguration && runMode == TestRunner::Debug) - m_runConfig = new TestRunConfiguration(runConfigTarget); + m_runConfig = new TestRunConfiguration(runConfigTarget, this); } } diff --git a/src/plugins/autotest/testrunconfiguration.h b/src/plugins/autotest/testrunconfiguration.h index ef471fc2369..1ed3d2b0eea 100644 --- a/src/plugins/autotest/testrunconfiguration.h +++ b/src/plugins/autotest/testrunconfiguration.h @@ -25,7 +25,15 @@ #pragma once +#include "autotestplugin.h" +#include "testconfiguration.h" + +#include +#include +#include #include +#include +#include namespace Autotest { namespace Internal { @@ -33,15 +41,32 @@ namespace Internal { class TestRunConfiguration : public ProjectExplorer::RunConfiguration { public: - TestRunConfiguration(ProjectExplorer::Target *parent) + TestRunConfiguration(ProjectExplorer::Target *parent, TestConfiguration *config) : ProjectExplorer::RunConfiguration(parent, "AutoTest.TestRunConfig") { setDefaultDisplayName(tr("AutoTest Debug")); addExtraAspects(); + m_testConfig = config; + } + + ProjectExplorer::Runnable runnable() const override + { + ProjectExplorer::StandardRunnable r; + QTC_ASSERT(m_testConfig, return r); + r.executable = m_testConfig->targetFile(); + r.commandLineArguments = m_testConfig->argumentsForTestRunner( + *AutotestPlugin::instance()->settings()).join(' '); + r.workingDirectory = m_testConfig->workingDirectory(); + r.environment = m_testConfig->environment(); + r.runMode = ProjectExplorer::ApplicationLauncher::Gui; + r.device = ProjectExplorer::DeviceManager::instance()->defaultDevice( + ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE); + return r; } private: QWidget *createConfigurationWidget() { return 0; } + TestConfiguration *m_testConfig = 0; }; } // namespace Internal