diff --git a/src/plugins/autotest/boost/boosttestconfiguration.cpp b/src/plugins/autotest/boost/boosttestconfiguration.cpp index e24b45196da..cdae7a40f8c 100644 --- a/src/plugins/autotest/boost/boosttestconfiguration.cpp +++ b/src/plugins/autotest/boost/boosttestconfiguration.cpp @@ -35,12 +35,12 @@ namespace Autotest { namespace Internal { -static QSharedPointer getBoostSettings() +static BoostTestSettings *getBoostSettings() { const Core::Id id = Core::Id(Constants::FRAMEWORK_PREFIX).withSuffix( BoostTest::Constants::FRAMEWORK_NAME); TestFrameworkManager *manager = TestFrameworkManager::instance(); - return qSharedPointerCast(manager->settingsForTestFramework(id)); + return dynamic_cast(manager->settingsForTestFramework(id)); } TestOutputReader *BoostTestConfiguration::outputReader(const QFutureInterface &fi, diff --git a/src/plugins/autotest/boost/boosttestframework.cpp b/src/plugins/autotest/boost/boosttestframework.cpp index d54881540ae..bc63215a322 100644 --- a/src/plugins/autotest/boost/boosttestframework.cpp +++ b/src/plugins/autotest/boost/boosttestframework.cpp @@ -25,8 +25,6 @@ #include "boosttestframework.h" #include "boosttestconstants.h" -#include "boosttestsettings.h" -#include "boosttestsettingspage.h" #include "boosttesttreeitem.h" #include "boosttestparser.h" #include "../testframeworkmanager.h" @@ -57,20 +55,5 @@ unsigned BoostTestFramework::priority() const return BoostTest::Constants::FRAMEWORK_PRIORITY; } -IFrameworkSettings *BoostTestFramework::createFrameworkSettings() const -{ - return new BoostTestSettings; -} - -Core::IOptionsPage *BoostTestFramework::createSettingsPage(QSharedPointer settings) const -{ - return new BoostTestSettingsPage(settings, settingsId()); -} - -bool BoostTestFramework::hasFrameworkSettings() const -{ - return true; -} - } // namespace Internal } // namespace Autotest diff --git a/src/plugins/autotest/boost/boosttestframework.h b/src/plugins/autotest/boost/boosttestframework.h index dfe46dd0feb..8145fb3cedf 100644 --- a/src/plugins/autotest/boost/boosttestframework.h +++ b/src/plugins/autotest/boost/boosttestframework.h @@ -27,6 +27,9 @@ #include "../itestframework.h" +#include "boosttestsettings.h" +#include "boosttestsettingspage.h" + namespace Autotest { namespace Internal { @@ -34,14 +37,16 @@ class BoostTestFramework : public ITestFramework { public: BoostTestFramework() : ITestFramework(true) {} + +private: const char *name() const override; unsigned priority() const override; - IFrameworkSettings *createFrameworkSettings() const override; - Core::IOptionsPage *createSettingsPage(QSharedPointer settings) const override; - bool hasFrameworkSettings() const override; -protected: + IFrameworkSettings *frameworkSettings() override { return &m_settings; } ITestParser *createTestParser() const override; TestTreeItem *createRootNode() const override; + + BoostTestSettings m_settings; + BoostTestSettingsPage m_settingsPage{&m_settings, settingsId()}; }; } // namespace Internal diff --git a/src/plugins/autotest/boost/boosttestsettingspage.cpp b/src/plugins/autotest/boost/boosttestsettingspage.cpp index 28afad5c159..ea9d41a0d50 100644 --- a/src/plugins/autotest/boost/boosttestsettingspage.cpp +++ b/src/plugins/autotest/boost/boosttestsettingspage.cpp @@ -39,7 +39,7 @@ class BoostTestSettingsWidget : public Core::IOptionsPageWidget Q_DECLARE_TR_FUNCTIONS(Autotest::Internal::BoostTestSettingsWidget) public: - explicit BoostTestSettingsWidget(QSharedPointer settings); + explicit BoostTestSettingsWidget(BoostTestSettings *settings); void apply() final; @@ -49,10 +49,10 @@ public: private: void fillComboBoxes(); Ui::BoostSettingsPage m_ui; - QSharedPointer m_settings; + BoostTestSettings *m_settings; }; -BoostTestSettingsWidget::BoostTestSettingsWidget(QSharedPointer settings) +BoostTestSettingsWidget::BoostTestSettingsWidget(BoostTestSettings *settings) : m_settings(settings) { m_ui.setupUi(this); @@ -101,16 +101,13 @@ void BoostTestSettingsWidget::fillComboBoxes() m_ui.reportLevelCB->addItem("No", QVariant::fromValue(ReportLevel::No)); } -BoostTestSettingsPage::BoostTestSettingsPage(QSharedPointer settings, - Core::Id settingsId) +BoostTestSettingsPage::BoostTestSettingsPage(BoostTestSettings *settings, Core::Id settingsId) { setId(settingsId); setCategory(Constants::AUTOTEST_SETTINGS_CATEGORY); setDisplayName(QCoreApplication::translate("BoostTestFramework", BoostTest::Constants::FRAMEWORK_SETTINGS_CATEGORY)); - setWidgetCreator([settings] { - return new BoostTestSettingsWidget(qSharedPointerCast(settings)); - }); + setWidgetCreator([settings] { return new BoostTestSettingsWidget(settings); }); } } // Internal diff --git a/src/plugins/autotest/boost/boosttestsettingspage.h b/src/plugins/autotest/boost/boosttestsettingspage.h index 27a7efd2c17..0c5340d91a1 100644 --- a/src/plugins/autotest/boost/boosttestsettingspage.h +++ b/src/plugins/autotest/boost/boosttestsettingspage.h @@ -28,15 +28,14 @@ #include namespace Autotest { - -class IFrameworkSettings; - namespace Internal { +class BoostTestSettings; + class BoostTestSettingsPage final : public Core::IOptionsPage { public: - BoostTestSettingsPage(QSharedPointer settings, Core::Id settingsId); + BoostTestSettingsPage(BoostTestSettings *settings, Core::Id settingsId); }; } // Internal diff --git a/src/plugins/autotest/gtest/gtestconfiguration.cpp b/src/plugins/autotest/gtest/gtestconfiguration.cpp index e662f3702fa..eb5a8299599 100644 --- a/src/plugins/autotest/gtest/gtestconfiguration.cpp +++ b/src/plugins/autotest/gtest/gtestconfiguration.cpp @@ -87,8 +87,8 @@ QStringList GTestConfiguration::argumentsForTestRunner(QStringList *omitted) con arguments << "--gtest_filter=" + testSets.join(':'); TestFrameworkManager *manager = TestFrameworkManager::instance(); - auto gSettings = qSharedPointerCast(manager->settingsForTestFramework(id)); - if (gSettings.isNull()) + auto gSettings = dynamic_cast(manager->settingsForTestFramework(id)); + if (!gSettings) return arguments; if (gSettings->runDisabled) diff --git a/src/plugins/autotest/gtest/gtestframework.cpp b/src/plugins/autotest/gtest/gtestframework.cpp index 7e5ea7b6817..09668437b85 100644 --- a/src/plugins/autotest/gtest/gtestframework.cpp +++ b/src/plugins/autotest/gtest/gtestframework.cpp @@ -24,8 +24,6 @@ ****************************************************************************/ #include "gtestframework.h" -#include "gtestsettings.h" -#include "gtestsettingspage.h" #include "gtesttreeitem.h" #include "gtestparser.h" #include "../testframeworkmanager.h" @@ -33,6 +31,14 @@ namespace Autotest { namespace Internal { +static GTestSettings *g_settings; + +GTestFramework::GTestFramework() + : ITestFramework(true) +{ + g_settings = &m_settings; +} + ITestParser *GTestFramework::createTestParser() const { return new GTestParser; @@ -56,29 +62,9 @@ unsigned GTestFramework::priority() const return GTest::Constants::FRAMEWORK_PRIORITY; } -IFrameworkSettings *GTestFramework::createFrameworkSettings() const -{ - return new GTestSettings; -} - -Core::IOptionsPage *GTestFramework::createSettingsPage(QSharedPointer settings) const -{ - return new GTestSettingsPage(settings, settingsId()); -} - -bool GTestFramework::hasFrameworkSettings() const -{ - return true; -} - QString GTestFramework::currentGTestFilter() { - static const Core::Id id - = Core::Id(Constants::FRAMEWORK_PREFIX).withSuffix(GTest::Constants::FRAMEWORK_NAME); - const auto manager = TestFrameworkManager::instance(); - - auto gSettings = qSharedPointerCast(manager->settingsForTestFramework(id)); - return gSettings.isNull() ? QString(GTest::Constants::DEFAULT_FILTER) : gSettings->gtestFilter; + return g_settings->gtestFilter; } QString GTestFramework::groupingToolTip() const @@ -90,14 +76,7 @@ QString GTestFramework::groupingToolTip() const GTest::Constants::GroupMode GTestFramework::groupMode() { - static const Core::Id id - = Core::Id(Constants::FRAMEWORK_PREFIX).withSuffix(GTest::Constants::FRAMEWORK_NAME); - const auto manager = TestFrameworkManager::instance(); - if (!manager->groupingEnabled(id)) - return GTest::Constants::None; - - auto gSettings = qSharedPointerCast(manager->settingsForTestFramework(id)); - return gSettings.isNull() ? GTest::Constants::Directory : gSettings->groupMode; + return g_settings->groupMode; } } // namespace Internal diff --git a/src/plugins/autotest/gtest/gtestframework.h b/src/plugins/autotest/gtest/gtestframework.h index e6f1618c7b1..f9ac997440f 100644 --- a/src/plugins/autotest/gtest/gtestframework.h +++ b/src/plugins/autotest/gtest/gtestframework.h @@ -27,6 +27,8 @@ #include "../itestframework.h" #include "gtestconstants.h" +#include "gtestsettings.h" +#include "gtestsettingspage.h" namespace Autotest { namespace Internal { @@ -34,18 +36,21 @@ namespace Internal { class GTestFramework : public ITestFramework { public: - GTestFramework() : ITestFramework(true) {} - const char *name() const override; - unsigned priority() const override; - IFrameworkSettings *createFrameworkSettings() const override; - Core::IOptionsPage *createSettingsPage(QSharedPointer settings) const override; - bool hasFrameworkSettings() const override; + GTestFramework(); + static GTest::Constants::GroupMode groupMode(); static QString currentGTestFilter(); + +private: + const char *name() const override; + unsigned priority() const override; QString groupingToolTip() const override; -protected: + IFrameworkSettings *frameworkSettings() override { return &m_settings; } ITestParser *createTestParser() const override; TestTreeItem *createRootNode() const override; + + GTestSettings m_settings; + GTestSettingsPage m_settingsPage{&m_settings, settingsId()}; }; } // namespace Internal diff --git a/src/plugins/autotest/gtest/gtestsettingspage.cpp b/src/plugins/autotest/gtest/gtestsettingspage.cpp index f285fafde5f..c788d201af6 100644 --- a/src/plugins/autotest/gtest/gtestsettingspage.cpp +++ b/src/plugins/autotest/gtest/gtestsettingspage.cpp @@ -46,17 +46,17 @@ class GTestSettingsWidget final : public Core::IOptionsPageWidget Q_DECLARE_TR_FUNCTIONS(Autotest::Internal::GTestSettingsWidget) public: - explicit GTestSettingsWidget(const QSharedPointer &settings); + explicit GTestSettingsWidget(GTestSettings *settings); private: void apply() final; Ui::GTestSettingsPage m_ui; QString m_currentGTestFilter; - QSharedPointer m_settings; + GTestSettings *m_settings; }; -GTestSettingsWidget::GTestSettingsWidget(const QSharedPointer &settings) +GTestSettingsWidget::GTestSettingsWidget(GTestSettings *settings) : m_settings(settings) { m_ui.setupUi(this); @@ -109,14 +109,13 @@ void GTestSettingsWidget::apply() TestTreeModel::instance()->rebuild({id}); } -GTestSettingsPage::GTestSettingsPage(QSharedPointer settings, - Core::Id settingsId) +GTestSettingsPage::GTestSettingsPage(GTestSettings *settings, Core::Id settingsId) { setId(settingsId); setCategory(Constants::AUTOTEST_SETTINGS_CATEGORY); setDisplayName(QCoreApplication::translate("GTestFramework", GTest::Constants::FRAMEWORK_SETTINGS_CATEGORY)); - setWidgetCreator([settings] { return new GTestSettingsWidget(qSharedPointerCast(settings)); }); + setWidgetCreator([settings] { return new GTestSettingsWidget(settings); }); } } // namespace Internal diff --git a/src/plugins/autotest/gtest/gtestsettingspage.h b/src/plugins/autotest/gtest/gtestsettingspage.h index d789fd4622a..8cc20ae8b0f 100644 --- a/src/plugins/autotest/gtest/gtestsettingspage.h +++ b/src/plugins/autotest/gtest/gtestsettingspage.h @@ -28,15 +28,14 @@ #include namespace Autotest { - -class IFrameworkSettings; - namespace Internal { +class GTestSettings; + class GTestSettingsPage final : public Core::IOptionsPage { public: - GTestSettingsPage(QSharedPointer settings, Core::Id settingsId); + GTestSettingsPage(GTestSettings *settings, Core::Id settingsId); }; } // namespace Internal diff --git a/src/plugins/autotest/itestframework.h b/src/plugins/autotest/itestframework.h index 11bdfa31ccd..5b23aab9147 100644 --- a/src/plugins/autotest/itestframework.h +++ b/src/plugins/autotest/itestframework.h @@ -28,8 +28,6 @@ #include "testtreeitem.h" #include "itestparser.h" -namespace Core { class IOptionsPage; } - namespace Autotest { class IFrameworkSettings; @@ -46,13 +44,8 @@ public: virtual const char *name() const = 0; virtual unsigned priority() const = 0; // should this be modifyable? - virtual bool hasFrameworkSettings() const { return false; } - virtual IFrameworkSettings *createFrameworkSettings() const { return nullptr; } - virtual Core::IOptionsPage *createSettingsPage(QSharedPointer settings) const - { - Q_UNUSED(settings) - return nullptr; - } + + virtual IFrameworkSettings *frameworkSettings() { return nullptr; } TestTreeItem *rootNode() { if (!m_rootNode) diff --git a/src/plugins/autotest/qtest/qttestconfiguration.cpp b/src/plugins/autotest/qtest/qttestconfiguration.cpp index 1212f3b8524..81618dfb14f 100644 --- a/src/plugins/autotest/qtest/qttestconfiguration.cpp +++ b/src/plugins/autotest/qtest/qttestconfiguration.cpp @@ -41,7 +41,7 @@ TestOutputReader *QtTestConfiguration::outputReader(const QFutureInterface(manager->settingsForTestFramework(id)); + auto qtSettings = dynamic_cast(manager->settingsForTestFramework(id)); const QtTestOutputReader::OutputMode mode = qtSettings && qtSettings->useXMLOutput ? QtTestOutputReader::XML : QtTestOutputReader::PlainText; @@ -60,8 +60,8 @@ QStringList QtTestConfiguration::argumentsForTestRunner(QStringList *omitted) co omitted, false)); } TestFrameworkManager *manager = TestFrameworkManager::instance(); - auto qtSettings = qSharedPointerCast(manager->settingsForTestFramework(id)); - if (qtSettings.isNull()) + auto qtSettings = dynamic_cast(manager->settingsForTestFramework(id)); + if (!qtSettings) return arguments; if (qtSettings->useXMLOutput) arguments << "-xml"; diff --git a/src/plugins/autotest/qtest/qttestframework.cpp b/src/plugins/autotest/qtest/qttestframework.cpp index bbf42a844ae..8f6deb0afba 100644 --- a/src/plugins/autotest/qtest/qttestframework.cpp +++ b/src/plugins/autotest/qtest/qttestframework.cpp @@ -26,8 +26,6 @@ #include "qttestframework.h" #include "qttestconstants.h" #include "qttestparser.h" -#include "qttestsettings.h" -#include "qttestsettingspage.h" #include "qttesttreeitem.h" namespace Autotest { @@ -46,21 +44,6 @@ TestTreeItem *QtTestFramework::createRootNode() const QString(), TestTreeItem::Root); } -IFrameworkSettings *QtTestFramework::createFrameworkSettings() const -{ - return new QtTestSettings; -} - -Core::IOptionsPage *QtTestFramework::createSettingsPage(QSharedPointer settings) const -{ - return new QtTestSettingsPage(settings, settingsId()); -} - -bool QtTestFramework::hasFrameworkSettings() const -{ - return true; -} - const char *QtTestFramework::name() const { return QtTest::Constants::FRAMEWORK_NAME; diff --git a/src/plugins/autotest/qtest/qttestframework.h b/src/plugins/autotest/qtest/qttestframework.h index a6cfcb9f2a5..172aaaa0fd5 100644 --- a/src/plugins/autotest/qtest/qttestframework.h +++ b/src/plugins/autotest/qtest/qttestframework.h @@ -27,6 +27,9 @@ #include "../itestframework.h" +#include "qttestsettings.h" +#include "qttestsettingspage.h" + namespace Autotest { namespace Internal { @@ -34,15 +37,16 @@ class QtTestFramework : public ITestFramework { public: QtTestFramework() : ITestFramework(true) {} + +private: const char *name() const override; unsigned priority() const override; - IFrameworkSettings *createFrameworkSettings() const override; - Core::IOptionsPage *createSettingsPage(QSharedPointer settings) const override; - bool hasFrameworkSettings() const override; - -protected: ITestParser *createTestParser() const override; TestTreeItem *createRootNode() const override; + IFrameworkSettings *frameworkSettings() override { return &m_settings; } + + QtTestSettings m_settings; + QtTestSettingsPage m_settingsPage{&m_settings, settingsId()}; }; } // namespace Internal diff --git a/src/plugins/autotest/qtest/qttestsettingspage.cpp b/src/plugins/autotest/qtest/qttestsettingspage.cpp index fcc01853a1a..02a74cb344e 100644 --- a/src/plugins/autotest/qtest/qttestsettingspage.cpp +++ b/src/plugins/autotest/qtest/qttestsettingspage.cpp @@ -41,16 +41,16 @@ class QtTestSettingsWidget final : public Core::IOptionsPageWidget Q_DECLARE_TR_FUNCTIONS(Autotest::Internal::QtTestSettingsWidget) public: - explicit QtTestSettingsWidget(QSharedPointer settings); + explicit QtTestSettingsWidget(QtTestSettings *settings); void apply() final; private: Ui::QtTestSettingsPage m_ui; - QSharedPointer m_settings; + QtTestSettings *m_settings; }; -QtTestSettingsWidget::QtTestSettingsWidget(QSharedPointer settings) +QtTestSettingsWidget::QtTestSettingsWidget(QtTestSettings *settings) : m_settings(settings) { m_ui.setupUi(this); @@ -100,16 +100,13 @@ void QtTestSettingsWidget::apply() m_settings->toSettings(Core::ICore::settings()); } -QtTestSettingsPage::QtTestSettingsPage(QSharedPointer settings, - Core::Id settingsId) +QtTestSettingsPage::QtTestSettingsPage(QtTestSettings *settings, Core::Id settingsId) { setId(settingsId); setCategory(Constants::AUTOTEST_SETTINGS_CATEGORY); setDisplayName(QCoreApplication::translate("QtTestFramework", QtTest::Constants::FRAMEWORK_SETTINGS_CATEGORY)); - setWidgetCreator([settings] { - return new QtTestSettingsWidget(qSharedPointerCast(settings)); - }); + setWidgetCreator([settings] { return new QtTestSettingsWidget(settings); }); } } // namespace Internal diff --git a/src/plugins/autotest/qtest/qttestsettingspage.h b/src/plugins/autotest/qtest/qttestsettingspage.h index 6818ea441cc..3ed9c76eaac 100644 --- a/src/plugins/autotest/qtest/qttestsettingspage.h +++ b/src/plugins/autotest/qtest/qttestsettingspage.h @@ -28,15 +28,14 @@ #include namespace Autotest { - -class IFrameworkSettings; - namespace Internal { +class QtTestSettings; + class QtTestSettingsPage final : public Core::IOptionsPage { public: - QtTestSettingsPage(QSharedPointer settings, Core::Id settingsId); + QtTestSettingsPage(QtTestSettings *settings, Core::Id settingsId); }; } // namespace Internal diff --git a/src/plugins/autotest/quick/quicktestconfiguration.cpp b/src/plugins/autotest/quick/quicktestconfiguration.cpp index 57d075fe7d7..c2ae540b43c 100644 --- a/src/plugins/autotest/quick/quicktestconfiguration.cpp +++ b/src/plugins/autotest/quick/quicktestconfiguration.cpp @@ -46,7 +46,7 @@ TestOutputReader *QuickTestConfiguration::outputReader(const QFutureInterface(manager->settingsForTestFramework(id)); + auto qtSettings = dynamic_cast(manager->settingsForTestFramework(id)); const QtTestOutputReader::OutputMode mode = qtSettings && qtSettings->useXMLOutput ? QtTestOutputReader::XML : QtTestOutputReader::PlainText; @@ -67,8 +67,8 @@ QStringList QuickTestConfiguration::argumentsForTestRunner(QStringList *omitted) } TestFrameworkManager *manager = TestFrameworkManager::instance(); - auto qtSettings = qSharedPointerCast(manager->settingsForTestFramework(id)); - if (qtSettings.isNull()) + auto qtSettings = dynamic_cast(manager->settingsForTestFramework(id)); + if (!qtSettings) return arguments; if (qtSettings->useXMLOutput) arguments << "-xml"; diff --git a/src/plugins/autotest/testframeworkmanager.cpp b/src/plugins/autotest/testframeworkmanager.cpp index 6a5b48d185f..2356baf20df 100644 --- a/src/plugins/autotest/testframeworkmanager.cpp +++ b/src/plugins/autotest/testframeworkmanager.cpp @@ -67,8 +67,6 @@ TestFrameworkManager::~TestFrameworkManager() { delete m_testRunner; delete m_testTreeModel; - qDeleteAll(m_frameworkSettingsPages); - m_frameworkSettingsPages.clear(); for (ITestFramework *framework : m_registeredFrameworks.values()) delete framework; } @@ -82,12 +80,9 @@ bool TestFrameworkManager::registerTestFramework(ITestFramework *framework) qCDebug(LOG) << "Registering" << id; m_registeredFrameworks.insert(id, framework); - if (framework->hasFrameworkSettings()) { - QSharedPointer frameworkSettings(framework->createFrameworkSettings()); + if (IFrameworkSettings *frameworkSettings = framework->frameworkSettings()) m_frameworkSettings.insert(id, frameworkSettings); - if (auto page = framework->createSettingsPage(frameworkSettings)) - m_frameworkSettingsPages.append(page); - } + return true; } @@ -161,19 +156,17 @@ ITestParser *TestFrameworkManager::testParserForTestFramework(const Id &framewor return testParser; } -QSharedPointer TestFrameworkManager::settingsForTestFramework( +IFrameworkSettings *TestFrameworkManager::settingsForTestFramework( const Id &frameworkId) const { - return m_frameworkSettings.contains(frameworkId) ? m_frameworkSettings.value(frameworkId) - : QSharedPointer(); + return m_frameworkSettings.value(frameworkId, nullptr); } void TestFrameworkManager::synchronizeSettings(QSettings *s) { Internal::AutotestPlugin::settings()->fromSettings(s); for (const Id &id : m_frameworkSettings.keys()) { - QSharedPointer fSettings = settingsForTestFramework(id); - if (!fSettings.isNull()) + if (IFrameworkSettings *fSettings = settingsForTestFramework(id)) fSettings->fromSettings(s); } } diff --git a/src/plugins/autotest/testframeworkmanager.h b/src/plugins/autotest/testframeworkmanager.h index f983a6bb54d..0ad1c170669 100644 --- a/src/plugins/autotest/testframeworkmanager.h +++ b/src/plugins/autotest/testframeworkmanager.h @@ -28,7 +28,6 @@ #include "itestframework.h" #include -#include QT_BEGIN_NAMESPACE class QSettings; @@ -65,7 +64,7 @@ public: TestTreeItem *rootNodeForTestFramework(const Core::Id &frameworkId) const; ITestParser *testParserForTestFramework(const Core::Id &frameworkId) const; - QSharedPointer settingsForTestFramework(const Core::Id &frameworkId) const; + IFrameworkSettings *settingsForTestFramework(const Core::Id &frameworkId) const; void synchronizeSettings(QSettings *s); bool isActive(const Core::Id &frameworkId) const; bool groupingEnabled(const Core::Id &frameworkId) const; @@ -77,8 +76,7 @@ private: QList activeFrameworkIds() const; explicit TestFrameworkManager(); QHash m_registeredFrameworks; - QHash > m_frameworkSettings; - QVector m_frameworkSettingsPages; + QHash m_frameworkSettings; TestTreeModel *m_testTreeModel; Internal::TestRunner *m_testRunner;