diff --git a/src/plugins/autotest/gtest/gtestoutputreader.cpp b/src/plugins/autotest/gtest/gtestoutputreader.cpp index 4ad273063e9..2c2aee07a6e 100644 --- a/src/plugins/autotest/gtest/gtestoutputreader.cpp +++ b/src/plugins/autotest/gtest/gtestoutputreader.cpp @@ -105,7 +105,7 @@ void GTestOutputReader::processOutputLine(const QByteArray &outputLine) } else if (ExactMatch match = newTestSetStarts.match(line)) { m_testSetStarted = true; setCurrentTestCase(match.captured(1)); - GTestResult testResult("internal", {}, m_projectFile); + GTestResult testResult({}, {}, m_projectFile); testResult.setResult(ResultType::MessageCurrentTest); testResult.setDescription(Tr::tr("Entering test case %1").arg(m_currentTestCase)); reportResult(testResult); diff --git a/src/plugins/autotest/qtest/qttestoutputreader.cpp b/src/plugins/autotest/qtest/qttestoutputreader.cpp index a93e74eea42..073ef0e9fed 100644 --- a/src/plugins/autotest/qtest/qttestoutputreader.cpp +++ b/src/plugins/autotest/qtest/qttestoutputreader.cpp @@ -474,7 +474,7 @@ void QtTestOutputReader::sendCompleteInformation() void QtTestOutputReader::sendMessageCurrentTest() { - QtTestResult result("internal", {}, m_projectFile, m_testType); + QtTestResult result({}, {}, m_projectFile, m_testType); result.setResult(ResultType::MessageCurrentTest); result.setDescription(Tr::tr("Entering test function %1::%2").arg(m_className, m_testCase)); reportResult(result); diff --git a/src/plugins/autotest/testresult.cpp b/src/plugins/autotest/testresult.cpp index ae885d6b48c..d0e65c554db 100644 --- a/src/plugins/autotest/testresult.cpp +++ b/src/plugins/autotest/testresult.cpp @@ -19,7 +19,7 @@ TestResult::TestResult(const QString &id, const QString &name, const ResultHooks bool TestResult::isValid() const { - return !m_id.isEmpty(); + return m_id.has_value(); } const QString TestResult::outputString(bool selected) const @@ -28,7 +28,7 @@ const QString TestResult::outputString(bool selected) const return m_hooks.outputString(*this, selected); if (m_result == ResultType::Application) - return m_id; + return id(); return selected ? m_description : m_description.split('\n').first(); } @@ -166,7 +166,7 @@ QColor TestResult::colorForType(const ResultType type) bool TestResult::isDirectParentOf(const TestResult &other, bool *needsIntermediate) const { QTC_ASSERT(other.isValid(), return false); - const bool ret = !m_id.isEmpty() && m_id == other.m_id && m_name == other.m_name; + const bool ret = m_id && m_id == other.m_id && m_name == other.m_name; if (!ret) return false; if (m_hooks.directParent) @@ -179,14 +179,14 @@ bool TestResult::isIntermediateFor(const TestResult &other) const QTC_ASSERT(other.isValid(), return false); if (m_hooks.intermediate) return m_hooks.intermediate(*this, other); - return !m_id.isEmpty() && m_id == other.m_id && m_name == other.m_name; + return m_id && m_id == other.m_id && m_name == other.m_name; } TestResult TestResult::intermediateResult() const { if (m_hooks.createResult) return m_hooks.createResult(*this); - return {m_id, m_name}; + return {id(), m_name}; } } // namespace Autotest diff --git a/src/plugins/autotest/testresult.h b/src/plugins/autotest/testresult.h index 423f76e1e24..80229d37362 100644 --- a/src/plugins/autotest/testresult.h +++ b/src/plugins/autotest/testresult.h @@ -9,6 +9,8 @@ #include +#include + namespace Autotest { class ITestTreeItem; @@ -65,9 +67,9 @@ struct ResultHooks using IntermediateHook = std::function; using CreateResultHook = std::function; QVariant extraData; - OutputStringHook outputString; - FindTestItemHook findTestItem; - DirectParentHook directParent; + OutputStringHook outputString = {}; + FindTestItemHook findTestItem = {}; + DirectParentHook directParent = {}; IntermediateHook intermediate = {}; CreateResultHook createResult = {}; }; @@ -83,7 +85,7 @@ public: const QString outputString(bool selected) const; const ITestTreeItem *findTestTreeItem() const; - QString id() const { return m_id; } + QString id() const { return m_id.value_or(QString()); } QString name() const { return m_name; } ResultType result() const { return m_result; } QString description() const { return m_description; } @@ -106,13 +108,13 @@ public: TestResult intermediateResult() const; private: - QString m_id; + std::optional m_id = {}; QString m_name; ResultType m_result = ResultType::Invalid; // the real result.. QString m_description; Utils::FilePath m_file; int m_line = 0; - ResultHooks m_hooks; + ResultHooks m_hooks = {}; }; } // namespace Autotest diff --git a/src/plugins/autotest/testrunner.cpp b/src/plugins/autotest/testrunner.cpp index 76138a8ea4b..cb01d0d9a2a 100644 --- a/src/plugins/autotest/testrunner.cpp +++ b/src/plugins/autotest/testrunner.cpp @@ -784,7 +784,7 @@ void TestRunner::onFinished() void TestRunner::reportResult(ResultType type, const QString &description) { - TestResult result("internal", {}); + TestResult result({}, {}); result.setResult(type); result.setDescription(description); emit testResultReady(result);