diff --git a/src/plugins/autotest/gtest/gtestconfiguration.h b/src/plugins/autotest/gtest/gtestconfiguration.h index 8b86dcd81bd..9552b7db3ce 100644 --- a/src/plugins/autotest/gtest/gtestconfiguration.h +++ b/src/plugins/autotest/gtest/gtestconfiguration.h @@ -30,7 +30,7 @@ namespace Autotest { namespace Internal { -class GTestConfiguration : public TestConfiguration +class GTestConfiguration : public DebuggableTestConfiguration { public: explicit GTestConfiguration() {} diff --git a/src/plugins/autotest/gtest/gtesttreeitem.cpp b/src/plugins/autotest/gtest/gtesttreeitem.cpp index 1ed9f2cf3fd..658f82d8601 100644 --- a/src/plugins/autotest/gtest/gtesttreeitem.cpp +++ b/src/plugins/autotest/gtest/gtesttreeitem.cpp @@ -135,7 +135,10 @@ TestConfiguration *GTestTreeItem::testConfiguration() const TestConfiguration *GTestTreeItem::debugConfiguration() const { - return testConfiguration(); + GTestConfiguration *config = static_cast(testConfiguration()); + if (config) + config->setRunMode(DebuggableTestConfiguration::Debug); + return config; } // used as key inside getAllTestCases()/getSelectedTestCases() for Google Tests diff --git a/src/plugins/autotest/qtest/qttestconfiguration.h b/src/plugins/autotest/qtest/qttestconfiguration.h index 809741c8757..e48da49e5a4 100644 --- a/src/plugins/autotest/qtest/qttestconfiguration.h +++ b/src/plugins/autotest/qtest/qttestconfiguration.h @@ -30,7 +30,7 @@ namespace Autotest { namespace Internal { -class QtTestConfiguration : public TestConfiguration +class QtTestConfiguration : public DebuggableTestConfiguration { public: explicit QtTestConfiguration() {} diff --git a/src/plugins/autotest/qtest/qttesttreeitem.cpp b/src/plugins/autotest/qtest/qttesttreeitem.cpp index ed7611ab783..0a9f182df9e 100644 --- a/src/plugins/autotest/qtest/qttesttreeitem.cpp +++ b/src/plugins/autotest/qtest/qttesttreeitem.cpp @@ -136,6 +136,8 @@ TestConfiguration *QtTestTreeItem::testConfiguration() const TestConfiguration *QtTestTreeItem::debugConfiguration() const { QtTestConfiguration *config = static_cast(testConfiguration()); + if (config) + config->setRunMode(DebuggableTestConfiguration::Debug); return config; } diff --git a/src/plugins/autotest/testconfiguration.h b/src/plugins/autotest/testconfiguration.h index 224b7c279b1..e5eff3f2846 100644 --- a/src/plugins/autotest/testconfiguration.h +++ b/src/plugins/autotest/testconfiguration.h @@ -103,5 +103,25 @@ private: TestRunConfiguration *m_runConfig = 0; }; +class DebuggableTestConfiguration : public TestConfiguration +{ +public: + enum RunMode + { + Run, + Debug + }; + + explicit DebuggableTestConfiguration(RunMode runMode = Run) : m_runMode(runMode) {} + ~DebuggableTestConfiguration() {} + + void setRunMode(RunMode mode) { m_runMode = mode; } + RunMode runMode() const { return m_runMode; } + + +private: + RunMode m_runMode; +}; + } // namespace Internal } // namespace Autotest