AutoTest: De-virtualize some properties

Mostly a matter of taste.

Change-Id: If4f329d7f73361ee312387d0aa48d26fc1d98ff0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2023-07-13 14:08:10 +02:00
parent c2b5a75d76
commit c56301f4ff
14 changed files with 50 additions and 129 deletions

View File

@@ -25,9 +25,12 @@ BoostTestFramework &theBoostTestFramework()
} }
BoostTestFramework::BoostTestFramework() BoostTestFramework::BoostTestFramework()
: ITestFramework(true)
{ {
setActive(true);
setSettingsGroups("Autotest", "BoostTest"); setSettingsGroups("Autotest", "BoostTest");
setName(BoostTest::Constants::FRAMEWORK_NAME);
setDisplayName(Tr::tr(BoostTest::Constants::FRAMEWORK_SETTINGS_CATEGORY));
setPriority(BoostTest::Constants::FRAMEWORK_PRIORITY);
setLayouter([this] { setLayouter([this] {
return Row { Form { return Row { Form {
@@ -134,21 +137,6 @@ ITestTreeItem *BoostTestFramework::createRootNode()
return new BoostTestTreeItem(this, displayName(), {}, ITestTreeItem::Root); return new BoostTestTreeItem(this, displayName(), {}, ITestTreeItem::Root);
} }
const char *BoostTestFramework::name() const
{
return BoostTest::Constants::FRAMEWORK_NAME;
}
QString BoostTestFramework::displayName() const
{
return Tr::tr(BoostTest::Constants::FRAMEWORK_SETTINGS_CATEGORY);
}
unsigned BoostTestFramework::priority() const
{
return BoostTest::Constants::FRAMEWORK_PRIORITY;
}
// BoostSettingsPage // BoostSettingsPage
class BoostSettingsPage final : public Core::IOptionsPage class BoostSettingsPage final : public Core::IOptionsPage

View File

@@ -35,9 +35,6 @@ class BoostTestFramework : public ITestFramework
public: public:
BoostTestFramework(); BoostTestFramework();
const char *name() const override;
QString displayName() const override;
unsigned priority() const override;
ITestParser *createTestParser() override; ITestParser *createTestParser() override;
ITestTreeItem *createRootNode() override; ITestTreeItem *createRootNode() override;

View File

@@ -25,9 +25,12 @@ CatchFramework &theCatchFramework()
} }
CatchFramework::CatchFramework() CatchFramework::CatchFramework()
: ITestFramework(true)
{ {
setActive(true);
setSettingsGroups("Autotest", "Catch2"); setSettingsGroups("Autotest", "Catch2");
setPriority(12);
setName("Catch");
setDisplayName(Tr::tr("Catch Test"));
setLayouter([this] { setLayouter([this] {
return Row { Form { return Row { Form {
@@ -116,21 +119,6 @@ CatchFramework::CatchFramework()
warnOnEmpty.setToolTip(Tr::tr("Warns if a test section does not check any assertion.")); warnOnEmpty.setToolTip(Tr::tr("Warns if a test section does not check any assertion."));
} }
const char *CatchFramework::name() const
{
return "Catch";
}
QString CatchFramework::displayName() const
{
return Tr::tr("Catch Test");
}
unsigned CatchFramework::priority() const
{
return 12;
}
ITestParser *CatchFramework::createTestParser() ITestParser *CatchFramework::createTestParser()
{ {
return new CatchTestParser(this); return new CatchTestParser(this);

View File

@@ -29,10 +29,6 @@ public:
Utils::BoolAspect visibleWhitespace{this}; Utils::BoolAspect visibleWhitespace{this};
Utils::BoolAspect warnOnEmpty{this}; Utils::BoolAspect warnOnEmpty{this};
const char *name() const override;
QString displayName() const override;
unsigned priority() const override;
protected: protected:
ITestParser *createTestParser() override; ITestParser *createTestParser() override;
ITestTreeItem *createRootNode() override; ITestTreeItem *createRootNode() override;

View File

@@ -27,10 +27,12 @@ CTestTool &theCTestTool()
} }
CTestTool::CTestTool() CTestTool::CTestTool()
: Autotest::ITestTool(false)
{ {
setActive(false);
setSettingsGroups("Autotest", "CTest"); setSettingsGroups("Autotest", "CTest");
setAutoApply(false); setAutoApply(false);
setName("CTest");
setDisplayName(Tr::tr("CTest"));
setLayouter([this] { setLayouter([this] {
return Row { Form { return Row { Form {
@@ -157,16 +159,6 @@ ITestTreeItem *CTestTool::createItemFromTestCaseInfo(const ProjectExplorer::Test
return item; return item;
} }
const char *CTestTool::name() const
{
return "CTest";
}
QString CTestTool::displayName() const
{
return Tr::tr("CTest");
}
ITestTreeItem *CTestTool::createRootNode() ITestTreeItem *CTestTool::createRootNode()
{ {
return new CTestTreeItem(this, displayName(), {}, ITestTreeItem::Root); return new CTestTreeItem(this, displayName(), {}, ITestTreeItem::Root);

View File

@@ -16,11 +16,8 @@ public:
ITestTreeItem *createItemFromTestCaseInfo(const ProjectExplorer::TestCaseInfo &tci) final; ITestTreeItem *createItemFromTestCaseInfo(const ProjectExplorer::TestCaseInfo &tci) final;
const char *name() const final;
QString displayName() const final;
ITestTreeItem *createRootNode() final; ITestTreeItem *createRootNode() final;
QStringList activeSettingsAsOptions() const; QStringList activeSettingsAsOptions() const;
Utils::IntegerAspect repetitionCount{this}; Utils::IntegerAspect repetitionCount{this};

View File

@@ -29,9 +29,12 @@ GTestFramework &theGTestFramework()
} }
GTestFramework::GTestFramework() GTestFramework::GTestFramework()
: ITestFramework(true)
{ {
setActive(true);
setSettingsGroups("Autotest", "GTest"); setSettingsGroups("Autotest", "GTest");
setName(GTest::Constants::FRAMEWORK_NAME);
setDisplayName(Tr::tr(GTest::Constants::FRAMEWORK_SETTINGS_CATEGORY));
setPriority(GTest::Constants::FRAMEWORK_PRIORITY);
setLayouter([this] { setLayouter([this] {
return Row { Form { return Row { Form {
@@ -142,21 +145,6 @@ ITestTreeItem *GTestFramework::createRootNode()
return new GTestTreeItem(this, displayName(), {}, ITestTreeItem::Root); return new GTestTreeItem(this, displayName(), {}, ITestTreeItem::Root);
} }
const char *GTestFramework::name() const
{
return GTest::Constants::FRAMEWORK_NAME;
}
QString GTestFramework::displayName() const
{
return Tr::tr(GTest::Constants::FRAMEWORK_SETTINGS_CATEGORY);
}
unsigned GTestFramework::priority() const
{
return GTest::Constants::FRAMEWORK_PRIORITY;
}
QString GTestFramework::currentGTestFilter() QString GTestFramework::currentGTestFilter()
{ {
return theGTestFramework().gtestFilter(); return theGTestFramework().gtestFilter();

View File

@@ -29,9 +29,6 @@ public:
QStringList testNameForSymbolName(const QString &symbolName) const override; QStringList testNameForSymbolName(const QString &symbolName) const override;
const char *name() const override;
QString displayName() const override;
unsigned priority() const override;
QString groupingToolTip() const override; QString groupingToolTip() const override;
ITestParser *createTestParser() override; ITestParser *createTestParser() override;
ITestTreeItem *createRootNode() override; ITestTreeItem *createRootNode() override;

View File

@@ -12,9 +12,7 @@ using namespace Utils;
namespace Autotest { namespace Autotest {
ITestBase::ITestBase(bool activeByDefault, const ITestBase::TestBaseType type) ITestBase::ITestBase()
: m_active(activeByDefault)
, m_type(type)
{} {}
Id ITestBase::id() const Id ITestBase::id() const
@@ -32,10 +30,9 @@ void ITestBase::resetRootNode()
m_rootNode = nullptr; m_rootNode = nullptr;
} }
ITestFramework::ITestFramework()
ITestFramework::ITestFramework(bool activeByDefault)
: ITestBase(activeByDefault, ITestBase::Framework)
{ {
setType(ITestBase::Framework);
setAutoApply(false); setAutoApply(false);
} }
@@ -64,9 +61,11 @@ QStringList ITestFramework::testNameForSymbolName(const QString &) const
return {}; return {};
} }
ITestTool::ITestTool(bool activeByDefault) ITestTool::ITestTool()
: ITestBase(activeByDefault, ITestBase::Tool) {
{} setType(ITestBase::Tool);
setPriority(255);
}
ITestTreeItem *ITestTool::rootNode() ITestTreeItem *ITestTool::rootNode()
{ {

View File

@@ -27,15 +27,14 @@ public:
Tool = 0x2 Tool = 0x2
}; };
explicit ITestBase(bool activeByDefault, const TestBaseType type); ITestBase();
virtual ~ITestBase() = default; virtual ~ITestBase() = default;
virtual const char *name() const = 0; const char *name() const { return m_name; }
virtual QString displayName() const = 0; QString displayName() const { return m_displayName; }
virtual unsigned priority() const = 0; // should this be modifyable?
TestBaseType type() const { return m_type; } TestBaseType type() const { return m_type; }
Utils::Id id() const; Utils::Id id() const;
int priority() const { return m_priority; }
bool active() const { return m_active; } bool active() const { return m_active; }
void setActive(bool active) { m_active = active; } void setActive(bool active) { m_active = active; }
@@ -46,12 +45,20 @@ public:
virtual ITestTool *asTestTool() { return nullptr; } virtual ITestTool *asTestTool() { return nullptr; }
protected: protected:
void setPriority(int priority) { m_priority = priority; }
void setDisplayName(const QString &displayName) { m_displayName = displayName; }
void setType(const TestBaseType type) { m_type = type; }
void setName(const char *name) { m_name = name; }
virtual ITestTreeItem *createRootNode() = 0; virtual ITestTreeItem *createRootNode() = 0;
private: private:
ITestTreeItem *m_rootNode = nullptr; ITestTreeItem *m_rootNode = nullptr;
bool m_active = false; bool m_active = false;
TestBaseType m_type = None; TestBaseType m_type = None;
int m_priority = 0;
QString m_displayName;
const char *m_name = nullptr;
friend class ITestFramework; friend class ITestFramework;
friend class ITestTool; friend class ITestTool;
@@ -60,7 +67,7 @@ private:
class ITestFramework : public ITestBase class ITestFramework : public ITestBase
{ {
public: public:
explicit ITestFramework(bool activeByDefault); ITestFramework();
~ITestFramework() override; ~ITestFramework() override;
TestTreeItem *rootNode(); TestTreeItem *rootNode();
@@ -88,7 +95,7 @@ using TestFrameworks = QList<ITestFramework *>;
class ITestTool : public ITestBase class ITestTool : public ITestBase
{ {
public: public:
explicit ITestTool(bool activeByDefault); ITestTool();
ITestTreeItem *rootNode(); ITestTreeItem *rootNode();
@@ -97,9 +104,6 @@ public:
virtual ITestTreeItem *createItemFromTestCaseInfo(const ProjectExplorer::TestCaseInfo &tci) = 0; virtual ITestTreeItem *createItemFromTestCaseInfo(const ProjectExplorer::TestCaseInfo &tci) = 0;
ITestTool *asTestTool() final { return this; } ITestTool *asTestTool() final { return this; }
private:
unsigned priority() const final { return 255; }
}; };
using TestTools = QList<ITestTool *>; using TestTools = QList<ITestTool *>;

View File

@@ -25,8 +25,12 @@ QtTestFramework &theQtTestFramework()
return framework; return framework;
} }
QtTestFramework::QtTestFramework() : ITestFramework(true) QtTestFramework::QtTestFramework()
{ {
setActive(true);
setName(QtTest::Constants::FRAMEWORK_NAME);
setDisplayName(Tr::tr(QtTest::Constants::FRAMEWORK_SETTINGS_CATEGORY));
setPriority(QtTest::Constants::FRAMEWORK_PRIORITY);
setSettingsGroups("Autotest", "QtTest"); setSettingsGroups("Autotest", "QtTest");
setLayouter([this] { setLayouter([this] {
@@ -125,21 +129,6 @@ ITestTreeItem *QtTestFramework::createRootNode()
return new QtTestTreeItem(this, displayName(), {}, ITestTreeItem::Root); return new QtTestTreeItem(this, displayName(), {}, ITestTreeItem::Root);
} }
const char *QtTestFramework::name() const
{
return QtTest::Constants::FRAMEWORK_NAME;
}
QString QtTestFramework::displayName() const
{
return Tr::tr(QtTest::Constants::FRAMEWORK_SETTINGS_CATEGORY);
}
unsigned QtTestFramework::priority() const
{
return QtTest::Constants::FRAMEWORK_PRIORITY;
}
QStringList QtTestFramework::testNameForSymbolName(const QString &symbolName) const QStringList QtTestFramework::testNameForSymbolName(const QString &symbolName) const
{ {
int index = symbolName.lastIndexOf("::"); int index = symbolName.lastIndexOf("::");

View File

@@ -34,9 +34,6 @@ public:
QStringList testNameForSymbolName(const QString &symbolName) const override; QStringList testNameForSymbolName(const QString &symbolName) const override;
const char *name() const override;
QString displayName() const override;
unsigned priority() const override;
ITestParser *createTestParser() override; ITestParser *createTestParser() override;
ITestTreeItem *createRootNode() override; ITestTreeItem *createRootNode() override;
}; };

View File

@@ -16,6 +16,13 @@ QuickTestFramework &theQuickTestFramework()
return framework; return framework;
} }
QuickTestFramework::QuickTestFramework()
{
setName(QuickTest::Constants::FRAMEWORK_NAME);
setDisplayName(Tr::tr("Quick Test"));
setPriority(5);
}
ITestParser *QuickTestFramework::createTestParser() ITestParser *QuickTestFramework::createTestParser()
{ {
return new QuickTestParser(this); return new QuickTestParser(this);
@@ -26,20 +33,5 @@ ITestTreeItem *QuickTestFramework::createRootNode()
return new QuickTestTreeItem(this, displayName(), {}, ITestTreeItem::Root); return new QuickTestTreeItem(this, displayName(), {}, ITestTreeItem::Root);
} }
const char *QuickTestFramework::name() const
{
return QuickTest::Constants::FRAMEWORK_NAME;
}
QString QuickTestFramework::displayName() const
{
return Tr::tr("Quick Test");
}
unsigned QuickTestFramework::priority() const
{
return 5;
}
} // namespace Internal } // namespace Internal
} // namespace Autotest } // namespace Autotest

View File

@@ -21,10 +21,7 @@ namespace Internal {
class QuickTestFramework : public QtTestFramework class QuickTestFramework : public QtTestFramework
{ {
public: public:
QuickTestFramework() {} QuickTestFramework();
const char *name() const override;
QString displayName() const override;
unsigned priority() const override;
protected: protected:
ITestParser *createTestParser() override; ITestParser *createTestParser() override;