From 9a7691eb7840395ed576b590eb6378023f030284 Mon Sep 17 00:00:00 2001 From: Arttu Tarkiainen Date: Wed, 21 Oct 2020 11:48:14 +0300 Subject: CLI: Fix wrong warning text in command 'purge' for running processes Task-number: QTIFW-1996 Change-Id: Iaf9aa6bfd39d266ed052838e969881c168b4b2ed Reviewed-by: Katja Marttila --- src/libs/installer/packagemanagercore.cpp | 2 +- src/libs/installer/packagemanagercore_p.cpp | 9 +++++++-- .../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)); } -- cgit v1.2.3