diff options
author | David Schulz <david.schulz@qt.io> | 2018-05-15 07:28:25 +0200 |
---|---|---|
committer | David Schulz <david.schulz@qt.io> | 2018-05-15 08:17:38 +0000 |
commit | e18001ad89055ec2abd5be4abd90e06da27e3411 (patch) | |
tree | 20772b292179e4469e7b3733da929c22131edb43 /src | |
parent | 9b74948a617eb48c2c1131632edba7f96ec052ed (diff) |
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>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/autotest/qtest/qttestconfiguration.cpp | 14 | ||||
-rw-r--r-- | src/plugins/autotest/quick/quicktestconfiguration.cpp | 14 |
2 files changed, 9 insertions, 19 deletions
diff --git a/src/plugins/autotest/qtest/qttestconfiguration.cpp b/src/plugins/autotest/qtest/qttestconfiguration.cpp index b79d3a72b4..a593fded5b 100644 --- a/src/plugins/autotest/qtest/qttestconfiguration.cpp +++ b/src/plugins/autotest/qtest/qttestconfiguration.cpp @@ -42,16 +42,10 @@ TestOutputReader *QtTestConfiguration::outputReader(const QFutureInterface<TestR = Core::Id(Constants::FRAMEWORK_PREFIX).withSuffix(QtTest::Constants::FRAMEWORK_NAME); TestFrameworkManager *manager = TestFrameworkManager::instance(); auto qtSettings = qSharedPointerCast<QtTestSettings>(manager->settingsForTestFramework(id)); - if (qtSettings.isNull()) - return nullptr; - - if (qtSettings->useXMLOutput) { - return new QtTestOutputReader(fi, app, buildDirectory(), projectFile(), - QtTestOutputReader::XML, TestType::QtTest); - } else { - return new QtTestOutputReader(fi, app, buildDirectory(), projectFile(), - QtTestOutputReader::PlainText, TestType::QtTest); - } + const QtTestOutputReader::OutputMode mode = qtSettings && qtSettings->useXMLOutput + ? QtTestOutputReader::XML + : QtTestOutputReader::PlainText; + return new QtTestOutputReader(fi, app, buildDirectory(), projectFile(), mode, TestType::QtTest); } QStringList QtTestConfiguration::argumentsForTestRunner(QStringList *omitted) const diff --git a/src/plugins/autotest/quick/quicktestconfiguration.cpp b/src/plugins/autotest/quick/quicktestconfiguration.cpp index 9503e4cbb0..47b7748039 100644 --- a/src/plugins/autotest/quick/quicktestconfiguration.cpp +++ b/src/plugins/autotest/quick/quicktestconfiguration.cpp @@ -47,15 +47,11 @@ TestOutputReader *QuickTestConfiguration::outputReader(const QFutureInterface<Te = Core::Id(Constants::FRAMEWORK_PREFIX).withSuffix(QtTest::Constants::FRAMEWORK_NAME); TestFrameworkManager *manager = TestFrameworkManager::instance(); auto qtSettings = qSharedPointerCast<QtTestSettings>(manager->settingsForTestFramework(id)); - if (qtSettings.isNull()) - return nullptr; - if (qtSettings->useXMLOutput) { - return new QtTestOutputReader(fi, app, buildDirectory(), projectFile(), - QtTestOutputReader::XML, TestType::QuickTest); - } else { - return new QtTestOutputReader(fi, app, buildDirectory(), projectFile(), - QtTestOutputReader::PlainText, TestType::QuickTest); - } + const QtTestOutputReader::OutputMode mode = qtSettings && qtSettings->useXMLOutput + ? QtTestOutputReader::XML + : QtTestOutputReader::PlainText; + return new QtTestOutputReader(fi, app, buildDirectory(), projectFile(), + mode, TestType::QuickTest); } QStringList QuickTestConfiguration::argumentsForTestRunner(QStringList *omitted) const |