diff --git a/src/plugins/autotest/itestframework.h b/src/plugins/autotest/itestframework.h index 5b23aab9147..78ad2ae1e85 100644 --- a/src/plugins/autotest/itestframework.h +++ b/src/plugins/autotest/itestframework.h @@ -62,6 +62,8 @@ public: Core::Id settingsId() const; + Core::Id id() const { return Core::Id(Constants::FRAMEWORK_PREFIX).withSuffix(name()); } + bool active() const { return m_active; } void setActive(bool active) { m_active = active; } bool grouping() const { return m_grouping; } diff --git a/src/plugins/autotest/testframeworkmanager.cpp b/src/plugins/autotest/testframeworkmanager.cpp index 2356baf20df..63c1c62d845 100644 --- a/src/plugins/autotest/testframeworkmanager.cpp +++ b/src/plugins/autotest/testframeworkmanager.cpp @@ -74,7 +74,7 @@ TestFrameworkManager::~TestFrameworkManager() bool TestFrameworkManager::registerTestFramework(ITestFramework *framework) { QTC_ASSERT(framework, return false); - Id id = Id(Constants::FRAMEWORK_PREFIX).withSuffix(framework->name()); + Id id = framework->id(); QTC_ASSERT(!m_registeredFrameworks.contains(id), delete framework; return false); // TODO check for unique priority before registering qCDebug(LOG) << "Registering" << id; @@ -156,6 +156,11 @@ ITestParser *TestFrameworkManager::testParserForTestFramework(const Id &framewor return testParser; } +ITestFramework *TestFrameworkManager::frameworkForId(Id frameworkId) +{ + return instance()->m_registeredFrameworks.value(frameworkId, nullptr); +} + IFrameworkSettings *TestFrameworkManager::settingsForTestFramework( const Id &frameworkId) const { diff --git a/src/plugins/autotest/testframeworkmanager.h b/src/plugins/autotest/testframeworkmanager.h index 0ad1c170669..d2af4d46843 100644 --- a/src/plugins/autotest/testframeworkmanager.h +++ b/src/plugins/autotest/testframeworkmanager.h @@ -54,6 +54,9 @@ class TestFrameworkManager public: static TestFrameworkManager *instance(); virtual ~TestFrameworkManager(); + + static ITestFramework *frameworkForId(Core::Id frameworkId); + bool registerTestFramework(ITestFramework *framework); void activateFrameworksFromSettings(const Internal::TestSettings *settings);