aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2018-05-15 07:28:25 +0200
committerDavid Schulz <david.schulz@qt.io>2018-05-15 08:17:38 +0000
commite18001ad89055ec2abd5be4abd90e06da27e3411 (patch)
tree20772b292179e4469e7b3733da929c22131edb43 /src
parent9b74948a617eb48c2c1131632edba7f96ec052ed (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.cpp14
-rw-r--r--src/plugins/autotest/quick/quicktestconfiguration.cpp14
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