Valgrind: Create a SuppressionsAspect

This is a fairly complex use case, as the corresponding widget looks the
same in global settings and Project settings, but behaves differently
(Project only stores a diff, is auto-apply). It also use two(!)
settings keys in the project case.

So while it works, it takes manual help for the cancel/apply and
toMap/fromMap. Looks like there is still some basic infrastructure
missing.

Change-Id: I25ab7b41616ee09ff9133e93b84f34947fc32988
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2021-03-09 17:40:29 +01:00
parent bce64778c5
commit da01f4544f
5 changed files with 300 additions and 252 deletions

View File

@@ -128,7 +128,7 @@ public:
void start() override;
void stop() override;
QStringList suppressionFiles() const;
const QStringList suppressionFiles() const;
signals:
void internalParserError(const QString &errorString);
@@ -212,7 +212,7 @@ QStringList MemcheckToolRunner::toolArguments() const
}
arguments << "--leak-check=" + leakCheckValue;
foreach (const QString &file, m_settings.suppressionFiles())
for (const QString &file : m_settings.suppressions.value())
arguments << QString("--suppressions=%1").arg(file);
arguments << QString("--num-callers=%1").arg(m_settings.numCallers.value());
@@ -225,9 +225,9 @@ QStringList MemcheckToolRunner::toolArguments() const
return arguments;
}
QStringList MemcheckToolRunner::suppressionFiles() const
const QStringList MemcheckToolRunner::suppressionFiles() const
{
return m_settings.suppressionFiles();
return m_settings.suppressions.value();
}
void MemcheckToolRunner::startDebugger(qint64 valgrindPid)