AutoTest: Merge settings and tools hierarchies [1/2]

Currently living in the settings files to keep changes small,
will be renamed in a second step.

This allows the settings aspects to be used in their short form
and overall removes some indirections.

Change-Id: I099369b62239aed8192613a04bca958a660c36c7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2023-07-11 12:40:08 +02:00
parent 345c946255
commit 14e18fc92f
37 changed files with 489 additions and 567 deletions

View File

@@ -29,8 +29,8 @@ static QStringList quoteIfNeeded(const QStringList &testCases, bool debugMode)
TestOutputReader *QtTestConfiguration::createOutputReader(Process *app) const
{
auto qtSettings = static_cast<QtTestSettings *>(framework()->testSettings());
const QtTestOutputReader::OutputMode mode = qtSettings && qtSettings->useXMLOutput.value()
QtTestFramework &qtSettings = *static_cast<QtTestFramework *>(framework());
const QtTestOutputReader::OutputMode mode = qtSettings.useXMLOutput()
? QtTestOutputReader::XML
: QtTestOutputReader::PlainText;
return new QtTestOutputReader(app, buildDirectory(), projectFile(), mode, TestType::QtTest);
@@ -44,29 +44,27 @@ QStringList QtTestConfiguration::argumentsForTestRunner(QStringList *omitted) co
runnable().command.arguments().split(' ', Qt::SkipEmptyParts),
omitted, false));
}
auto qtSettings = static_cast<QtTestSettings *>(framework()->testSettings());
if (!qtSettings)
return arguments;
if (qtSettings->useXMLOutput.value())
QtTestFramework &qtSettings = *static_cast<QtTestFramework *>(framework());
if (qtSettings.useXMLOutput())
arguments << "-xml";
if (!testCases().isEmpty())
arguments << quoteIfNeeded(testCases(), isDebugRunMode());
const QString &metricsOption = QtTestSettings::metricsTypeToOption(MetricsType(qtSettings->metrics.value()));
const QString metricsOption = QtTestFramework::metricsTypeToOption(MetricsType(qtSettings.metrics()));
if (!metricsOption.isEmpty())
arguments << metricsOption;
if (qtSettings->verboseBench.value())
if (qtSettings.verboseBench())
arguments << "-vb";
if (qtSettings->logSignalsSlots.value())
if (qtSettings.logSignalsSlots())
arguments << "-vs";
if (isDebugRunMode() && qtSettings->noCrashHandler.value())
if (isDebugRunMode() && qtSettings.noCrashHandler())
arguments << "-nocrashhandler";
if (qtSettings->limitWarnings.value() && qtSettings->maxWarnings.value() != 2000)
arguments << "-maxwarnings" << QString::number(qtSettings->maxWarnings.value());
if (qtSettings.limitWarnings() && qtSettings.maxWarnings() != 2000)
arguments << "-maxwarnings" << QString::number(qtSettings.maxWarnings());
return arguments;
}