forked from qt-creator/qt-creator
AutoTest: Prevent possible nullptr access
... by making sure TestConfiguration::outputReader always return a valid output reader. Change-Id: I6606b1fcfb632d0fb9a68dc0b4a149f74f539100 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -42,16 +42,10 @@ TestOutputReader *QtTestConfiguration::outputReader(const QFutureInterface<TestR
|
|||||||
= Core::Id(Constants::FRAMEWORK_PREFIX).withSuffix(QtTest::Constants::FRAMEWORK_NAME);
|
= Core::Id(Constants::FRAMEWORK_PREFIX).withSuffix(QtTest::Constants::FRAMEWORK_NAME);
|
||||||
TestFrameworkManager *manager = TestFrameworkManager::instance();
|
TestFrameworkManager *manager = TestFrameworkManager::instance();
|
||||||
auto qtSettings = qSharedPointerCast<QtTestSettings>(manager->settingsForTestFramework(id));
|
auto qtSettings = qSharedPointerCast<QtTestSettings>(manager->settingsForTestFramework(id));
|
||||||
if (qtSettings.isNull())
|
const QtTestOutputReader::OutputMode mode = qtSettings && qtSettings->useXMLOutput
|
||||||
return nullptr;
|
? QtTestOutputReader::XML
|
||||||
|
: QtTestOutputReader::PlainText;
|
||||||
if (qtSettings->useXMLOutput) {
|
return new QtTestOutputReader(fi, app, buildDirectory(), projectFile(), mode, TestType::QtTest);
|
||||||
return new QtTestOutputReader(fi, app, buildDirectory(), projectFile(),
|
|
||||||
QtTestOutputReader::XML, TestType::QtTest);
|
|
||||||
} else {
|
|
||||||
return new QtTestOutputReader(fi, app, buildDirectory(), projectFile(),
|
|
||||||
QtTestOutputReader::PlainText, TestType::QtTest);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList QtTestConfiguration::argumentsForTestRunner(QStringList *omitted) const
|
QStringList QtTestConfiguration::argumentsForTestRunner(QStringList *omitted) const
|
||||||
|
|||||||
@@ -47,15 +47,11 @@ TestOutputReader *QuickTestConfiguration::outputReader(const QFutureInterface<Te
|
|||||||
= Core::Id(Constants::FRAMEWORK_PREFIX).withSuffix(QtTest::Constants::FRAMEWORK_NAME);
|
= Core::Id(Constants::FRAMEWORK_PREFIX).withSuffix(QtTest::Constants::FRAMEWORK_NAME);
|
||||||
TestFrameworkManager *manager = TestFrameworkManager::instance();
|
TestFrameworkManager *manager = TestFrameworkManager::instance();
|
||||||
auto qtSettings = qSharedPointerCast<QtTestSettings>(manager->settingsForTestFramework(id));
|
auto qtSettings = qSharedPointerCast<QtTestSettings>(manager->settingsForTestFramework(id));
|
||||||
if (qtSettings.isNull())
|
const QtTestOutputReader::OutputMode mode = qtSettings && qtSettings->useXMLOutput
|
||||||
return nullptr;
|
? QtTestOutputReader::XML
|
||||||
if (qtSettings->useXMLOutput) {
|
: QtTestOutputReader::PlainText;
|
||||||
return new QtTestOutputReader(fi, app, buildDirectory(), projectFile(),
|
return new QtTestOutputReader(fi, app, buildDirectory(), projectFile(),
|
||||||
QtTestOutputReader::XML, TestType::QuickTest);
|
mode, TestType::QuickTest);
|
||||||
} else {
|
|
||||||
return new QtTestOutputReader(fi, app, buildDirectory(), projectFile(),
|
|
||||||
QtTestOutputReader::PlainText, TestType::QuickTest);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList QuickTestConfiguration::argumentsForTestRunner(QStringList *omitted) const
|
QStringList QuickTestConfiguration::argumentsForTestRunner(QStringList *omitted) const
|
||||||
|
|||||||
Reference in New Issue
Block a user