summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorKatja Marttila <katja.marttila@qt.io>2022-03-18 14:13:24 +0200
committerKatja Marttila <katja.marttila@qt.io>2022-03-24 09:15:33 +0200
commitac1637b8976d7d85ac42f308c4be6de97dcf86cb (patch)
tree601dc434e0d8ae225758c2603fe4992a3b83418f /tests
parent449afefe542d3411de4bdacd068c1116ec10779c (diff)
Add install reason why component is uninstalled
In details view uninstallable and installable components are listed. For installable components a reason is shown why the component is installed. Added similar kind of message for uninstallable components as well. Task-number: QTIFW-2581 Change-Id: Idbf31200793a6c89a4ed4a6fc115f49889b5f9b5 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/installer/solver/tst_solver.cpp26
1 files changed, 19 insertions, 7 deletions
diff --git a/tests/auto/installer/solver/tst_solver.cpp b/tests/auto/installer/solver/tst_solver.cpp
index 2f4e17855..5e499da2d 100644
--- a/tests/auto/installer/solver/tst_solver.cpp
+++ b/tests/auto/installer/solver/tst_solver.cpp
@@ -39,6 +39,9 @@
using namespace QInstaller;
typedef QMap<Component *, QStringList> ComponentToStringList;
+typedef QList<QPair<Component *, UninstallerCalculator::UninstallReasonType>> UninstallReasonList;
+
+Q_DECLARE_METATYPE(UninstallReasonList)
class Data {
public:
@@ -218,7 +221,6 @@ private slots:
<< (QList<Component *>() << componentA)
<< (QList<Component *>());
}
-
}
void unresolvedDependencyVersion()
@@ -242,7 +244,9 @@ private slots:
QTest::addColumn<QList<Component *> >("selectedToUninstall");
QTest::addColumn<QList<Component *> >("installedComponents");
QTest::addColumn<QSet<Component *> >("expectedResult");
+ QTest::addColumn<UninstallReasonList >("uninstallReasons");
+ UninstallReasonList uninstallReasonList;
PackageManagerCore *core = new PackageManagerCore();
core->setPackageManager();
NamedComponent *componentA = new NamedComponent(core, QLatin1String("A"));
@@ -259,11 +263,15 @@ private slots:
componentB->setInstalled();
componentAB->setInstalled();
+ uninstallReasonList.append(qMakePair(componentAB, UninstallerCalculator::Selected));
+ uninstallReasonList.append(qMakePair(componentB, UninstallerCalculator::Dependent));
QTest::newRow("Uninstaller resolved") << core
<< (QList<Component *>() << componentAB)
<< (QList<Component *>() << componentA << componentB)
- << (QSet<Component *>() << componentAB << componentB);
+ << (QSet<Component *>() << componentAB << componentB)
+ << (uninstallReasonList);
+ uninstallReasonList.clear();
core = new PackageManagerCore();
core->setPackageManager();
NamedComponent *compA = new NamedComponent(core, QLatin1String("A"));
@@ -277,10 +285,13 @@ private slots:
compA->setInstalled();
compB->setInstalled();
+ uninstallReasonList.append(qMakePair(compA, UninstallerCalculator::Selected));
+ uninstallReasonList.append(qMakePair(compB, UninstallerCalculator::Dependent));
QTest::newRow("Cascade dependencies") << core
<< (QList<Component *>() << compA)
<< (QList<Component *>() << compB)
- << (QSet<Component *>() << compA << compB);
+ << (QSet<Component *>() << compA << compB)
+ << (uninstallReasonList);
}
void resolveUninstaller()
@@ -289,17 +300,19 @@ private slots:
QFETCH(QList<Component *> , selectedToUninstall);
QFETCH(QList<Component *> , installedComponents);
QFETCH(QSet<Component *> , expectedResult);
-
+ QFETCH(UninstallReasonList, uninstallReasons);
UninstallerCalculator calc(installedComponents, core);
calc.appendComponentsToUninstall(selectedToUninstall);
QSet<Component *> result = calc.componentsToUninstall();
-
+ for (auto pair : uninstallReasons) {
+ UninstallerCalculator::UninstallReasonType type = calc.uninstallReasonType(pair.first);
+ QCOMPARE(pair.second, type);
+ }
QCOMPARE(result.count(), expectedResult.count());
QCOMPARE(result, expectedResult);
delete core;
}
-
void checkComponent_data()
{
QTest::addColumn<QList<Component *> >("componentsToCheck");
@@ -342,7 +355,6 @@ private slots:
QTest::newRow("AutoDepend and dependency")
<< (QList<Component *>() << componentC << componentD << componentE)
<< result;
-
}
void checkComponent()