diff options
Diffstat (limited to 'src/plugins/autotest/boost/boosttestoutputreader.cpp')
-rw-r--r-- | src/plugins/autotest/boost/boosttestoutputreader.cpp | 92 |
1 files changed, 45 insertions, 47 deletions
diff --git a/src/plugins/autotest/boost/boosttestoutputreader.cpp b/src/plugins/autotest/boost/boosttestoutputreader.cpp index 9cd2d6c168..3847419b75 100644 --- a/src/plugins/autotest/boost/boosttestoutputreader.cpp +++ b/src/plugins/autotest/boost/boosttestoutputreader.cpp @@ -19,7 +19,7 @@ namespace Internal { static Q_LOGGING_CATEGORY(orLog, "qtc.autotest.boost.outputreader", QtWarningMsg) -BoostTestOutputReader::BoostTestOutputReader(const QFutureInterface<TestResultPtr> &futureInterface, +BoostTestOutputReader::BoostTestOutputReader(const QFutureInterface<TestResult> &futureInterface, Utils::QtcProcess *testApplication, const Utils::FilePath &buildDirectory, const Utils::FilePath &projectFile, @@ -42,23 +42,23 @@ static QString caseFromContent(const QString &content) if (index != 17 || length <= 18) { qCDebug(orLog) << "double quote position" << index << " or content length" << length << "wrong on content" << content; - return QString(); + return {}; } index = content.indexOf('"', 18); if (index == -1) { qCDebug(orLog) << "no closing double quote" << content; - return QString(); + return {}; } return content.mid(18, index - 1); } int index = content.indexOf(": in "); if (index == -1) // "info: check true has passed" - return QString(); + return {}; if (index <= 4 || length < index + 4) { qCDebug(orLog) << "unexpected position" << index << "for info" << content; - return QString(); + return {}; } QString result = content.mid(index + 5); @@ -66,7 +66,7 @@ static QString caseFromContent(const QString &content) const QRegularExpressionMatch matcher = functionName.match(result); if (!matcher.hasMatch()) { qCDebug(orLog) << "got no match"; - return QString(); + return {}; } return matcher.captured(1); } @@ -74,19 +74,18 @@ static QString caseFromContent(const QString &content) void BoostTestOutputReader::sendCompleteInformation() { QTC_ASSERT(m_result != ResultType::Invalid, return); - BoostTestResult *result = new BoostTestResult(id(), m_currentModule, m_projectFile, - m_currentTest, m_currentSuite); + BoostTestResult result(id(), m_currentModule, m_projectFile, m_currentTest, m_currentSuite); if (m_lineNumber) { - result->setLine(m_lineNumber); - result->setFileName(m_fileName); - } else if (const ITestTreeItem *it = result->findTestTreeItem()) { - result->setLine(it->line()); - result->setFileName(it->filePath()); + result.setLine(m_lineNumber); + result.setFileName(m_fileName); + } else if (const ITestTreeItem *it = result.findTestTreeItem()) { + result.setLine(it->line()); + result.setFileName(it->filePath()); } - result->setDescription(m_description); - result->setResult(m_result); - reportResult(TestResultPtr(result)); + result.setDescription(m_description); + result.setResult(m_result); + reportResult(result); m_result = ResultType::Invalid; } @@ -212,10 +211,10 @@ void BoostTestOutputReader::processOutputLine(const QByteArray &outputLine) if (match.hasMatch()) { if (m_result != ResultType::Invalid) sendCompleteInformation(); - BoostTestResult *result = new BoostTestResult(id(), m_currentModule, m_projectFile); - result->setDescription(match.captured(0)); - result->setResult(ResultType::MessageInfo); - reportResult(TestResultPtr(result)); + BoostTestResult result(id(), m_currentModule, m_projectFile); + result.setDescription(match.captured(0)); + result.setResult(ResultType::MessageInfo); + reportResult(result); return; } @@ -234,17 +233,17 @@ void BoostTestOutputReader::processOutputLine(const QByteArray &outputLine) sendCompleteInformation(); if (match.captured(1).startsWith("Entering")) { m_currentModule = match.captured(2); - BoostTestResult *result = new BoostTestResult(id(), m_currentModule, m_projectFile); - result->setDescription(Tr::tr("Executing test module %1").arg(m_currentModule)); - result->setResult(ResultType::TestStart); - reportResult(TestResultPtr(result)); + BoostTestResult result(id(), m_currentModule, m_projectFile); + result.setDescription(Tr::tr("Executing test module %1").arg(m_currentModule)); + result.setResult(ResultType::TestStart); + reportResult(result); m_description.clear(); } else { QTC_CHECK(m_currentModule == match.captured(3)); - BoostTestResult *result = new BoostTestResult(id(), m_currentModule, m_projectFile); - result->setDescription(Tr::tr("Test module execution took %1").arg(match.captured(4))); - result->setResult(ResultType::TestEnd); - reportResult(TestResultPtr(result)); + BoostTestResult result(id(), m_currentModule, m_projectFile); + result.setDescription(Tr::tr("Test module execution took %1").arg(match.captured(4))); + result.setResult(ResultType::TestEnd); + reportResult(result); m_currentTest.clear(); m_currentSuite.clear(); @@ -325,16 +324,16 @@ void BoostTestOutputReader::processOutputLine(const QByteArray &outputLine) if (match.hasMatch()) { if (m_result != ResultType::Invalid) sendCompleteInformation(); - BoostTestResult *result = new BoostTestResult(id(), {}, m_projectFile); - int failed = match.captured(1).toInt(); - int fatals = m_summary.value(ResultType::MessageFatal); + BoostTestResult result(id(), {}, m_projectFile); + const int failed = match.captured(1).toInt(); + const int fatals = m_summary.value(ResultType::MessageFatal); QString txt = Tr::tr("%1 failures detected in %2.").arg(failed).arg(match.captured(3)); - int passed = qMax(0, m_testCaseCount - failed); + const int passed = qMax(0, m_testCaseCount - failed); if (m_testCaseCount != -1) txt.append(' ').append(Tr::tr("%1 tests passed.").arg(passed)); - result->setDescription(txt); - result->setResult(ResultType::MessageInfo); - reportResult(TestResultPtr(result)); + result.setDescription(txt); + result.setResult(ResultType::MessageInfo); + reportResult(result); if (m_reportLevel == ReportLevel::Confirm) { // for the final summary m_summary[ResultType::Pass] += passed; m_summary[ResultType::Fail] += failed - fatals; @@ -346,13 +345,13 @@ void BoostTestOutputReader::processOutputLine(const QByteArray &outputLine) if (line == noErrors) { if (m_result != ResultType::Invalid) sendCompleteInformation(); - BoostTestResult *result = new BoostTestResult(id(), {}, m_projectFile); + BoostTestResult result(id(), {}, m_projectFile); QString txt = Tr::tr("No errors detected."); if (m_testCaseCount != -1) txt.append(' ').append(Tr::tr("%1 tests passed.").arg(m_testCaseCount)); - result->setDescription(txt); - result->setResult(ResultType::MessageInfo); - reportResult(TestResultPtr(result)); + result.setDescription(txt); + result.setResult(ResultType::MessageInfo); + reportResult(result); if (m_reportLevel == ReportLevel::Confirm) // for the final summary m_summary.insert(ResultType::Pass, m_testCaseCount); return; @@ -372,10 +371,9 @@ void BoostTestOutputReader::processStdError(const QByteArray &outputLine) emit newOutputLineAvailable(outputLine, OutputChannel::StdErr); } -TestResultPtr BoostTestOutputReader::createDefaultResult() const +TestResult BoostTestOutputReader::createDefaultResult() const { - return TestResultPtr(new BoostTestResult(id(), m_currentModule, m_projectFile, - m_currentTest, m_currentSuite)); + return BoostTestResult(id(), m_currentModule, m_projectFile, m_currentTest, m_currentSuite); } void BoostTestOutputReader::onDone() { @@ -416,11 +414,11 @@ void BoostTestOutputReader::onDone() { void BoostTestOutputReader::reportNoOutputFinish(const QString &description, ResultType type) { - BoostTestResult *result = new BoostTestResult(id(), m_currentModule, m_projectFile, - Tr::tr("Running tests without output.")); - result->setDescription(description); - result->setResult(type); - reportResult(TestResultPtr(result)); + BoostTestResult result(id(), m_currentModule, m_projectFile, + Tr::tr("Running tests without output.")); + result.setDescription(description); + result.setResult(type); + reportResult(result); } } // namespace Internal |