diff options
-rw-r--r-- | src/libs/installer/packagemanagercore.cpp | 2 | ||||
-rw-r--r-- | src/libs/installer/packagemanagercore_p.cpp | 9 | ||||
-rw-r--r-- | tests/auto/installer/packagemanagercore/tst_packagemanagercore.cpp | 11 |
3 files changed, 16 insertions, 6 deletions
diff --git a/src/libs/installer/packagemanagercore.cpp b/src/libs/installer/packagemanagercore.cpp index 715374f65..ed658a2ed 100644 --- a/src/libs/installer/packagemanagercore.cpp +++ b/src/libs/installer/packagemanagercore.cpp @@ -2382,6 +2382,7 @@ PackageManagerCore::Status PackageManagerCore::uninstallComponentsSilently(const */ PackageManagerCore::Status PackageManagerCore::removeInstallationSilently() { + setCompleteUninstallation(true); if (d->runningProcessesFound()) throw Error(tr("Running processes found.")); @@ -2390,7 +2391,6 @@ PackageManagerCore::Status PackageManagerCore::removeInstallationSilently() qCDebug(QInstaller::lcInstallerInstallLog) << "Uninstallation aborted."; return status(); } - setCompleteUninstallation(true); if (run()) return PackageManagerCore::Success; else diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp index 8b08c3be1..4449509e5 100644 --- a/src/libs/installer/packagemanagercore_p.cpp +++ b/src/libs/installer/packagemanagercore_p.cpp @@ -2030,10 +2030,15 @@ bool PackageManagerCorePrivate::runningProcessesFound() //Check if there are processes running in the install QStringList excludeFiles = m_allowedRunningProcesses; excludeFiles.append(maintenanceToolName()); + + const QString performModeWarning = m_completeUninstall + ? QLatin1String("Unable to remove components.") + : QLatin1String("Unable to update components."); + QStringList runningProcesses = runningInstallerProcesses(excludeFiles); if (!runningProcesses.isEmpty()) { - qCWarning(QInstaller::lcInstallerInstallLog).noquote() << "Unable to update components. Please stop these processes: " - << runningProcesses << " and try again."; + qCWarning(QInstaller::lcInstallerInstallLog).noquote().nospace() << performModeWarning + << " Please stop these processes: " << runningProcesses << " and try again."; return true; } return false; diff --git a/tests/auto/installer/packagemanagercore/tst_packagemanagercore.cpp b/tests/auto/installer/packagemanagercore/tst_packagemanagercore.cpp index c7cf1028f..ae2c3b211 100644 --- a/tests/auto/installer/packagemanagercore/tst_packagemanagercore.cpp +++ b/tests/auto/installer/packagemanagercore/tst_packagemanagercore.cpp @@ -321,11 +321,16 @@ private slots: QVERIFY(QDir().mkpath(testDirectory)); core.setValue(scTargetDir, testDirectory); - const QString warningMessage = QString("Unable to update components. Please stop these processes: "); - const QRegularExpression re(warningMessage); - QTest::ignoreMessage(QtWarningMsg, re); + const QString warningMessageUp = QString("Unable to update components. Please stop these processes: "); + const QRegularExpression reUp(warningMessageUp); + QTest::ignoreMessage(QtWarningMsg, reUp); QVERIFY_EXCEPTION_THROWN(core.updateComponentsSilently(QStringList()), Error); + const QString warningMessageRm = QString("Unable to remove components. Please stop these processes: "); + const QRegularExpression reRm(warningMessageRm); + QTest::ignoreMessage(QtWarningMsg, reRm); + QVERIFY_EXCEPTION_THROWN(core.removeInstallationSilently(), Error); + QVERIFY(QDir().rmdir(testDirectory)); } |