summaryrefslogtreecommitdiffstats
path: root/tests/auto/installer/solver/tst_solver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/installer/solver/tst_solver.cpp')
-rw-r--r--tests/auto/installer/solver/tst_solver.cpp69
1 files changed, 32 insertions, 37 deletions
diff --git a/tests/auto/installer/solver/tst_solver.cpp b/tests/auto/installer/solver/tst_solver.cpp
index 45fadc4e6..4548af3f1 100644
--- a/tests/auto/installer/solver/tst_solver.cpp
+++ b/tests/auto/installer/solver/tst_solver.cpp
@@ -1,6 +1,6 @@
/**************************************************************************
**
-** Copyright (C) 2022 The Qt Company Ltd.
+** Copyright (C) 2023 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Installer Framework.
@@ -39,7 +39,7 @@
using namespace QInstaller;
typedef QMap<Component *, QStringList> ComponentToStringList;
-typedef QList<QPair<Component *, UninstallerCalculator::UninstallReasonType>> UninstallReasonList;
+typedef QList<QPair<Component *, CalculatorBase::Resolution>> UninstallReasonList;
Q_DECLARE_METATYPE(UninstallReasonList)
@@ -48,7 +48,7 @@ public:
Data() {}
explicit Data(const QString &data)
: m_data(data) {}
- inline uint qHash(const Data &test);
+ inline hashValue qHash(const Data &test);
QString data() const { return m_data; }
bool operator==(const Data &rhs) const { return m_data == rhs.m_data; }
const Data &operator=(const Data &rhs) { if (this != &rhs) { m_data = rhs.m_data; } return *this; }
@@ -56,7 +56,7 @@ public:
private:
QString m_data;
};
-inline uint qHash(const Data &data)
+inline hashValue qHash(const Data &data)
{
return qHash(data.data());
}
@@ -149,7 +149,7 @@ private slots:
QTest::addColumn<PackageManagerCore *>("core");
QTest::addColumn<QList<Component *> >("selectedComponents");
QTest::addColumn<QList<Component *> >("expectedResult");
- QTest::addColumn<QList<int> >("installReason");
+ QTest::addColumn<QList<CalculatorBase::Resolution> >("installReason");
QTest::addColumn<AutoDependencyHash >("autodependencyHash");
PackageManagerCore *core = new PackageManagerCore();
@@ -176,11 +176,11 @@ private slots:
QTest::newRow("Installer resolved") << core
<< (QList<Component *>() << componentB)
<< (QList<Component *>() << componentB_NewVersion << componentAB << componentB << componentB_Auto)
- << (QList<int>()
- << InstallerCalculator::Dependent
- << InstallerCalculator::Dependent
- << InstallerCalculator::Resolved
- << InstallerCalculator::Automatic)
+ << (QList<CalculatorBase::Resolution>()
+ << CalculatorBase::Resolution::Dependent
+ << CalculatorBase::Resolution::Dependent
+ << CalculatorBase::Resolution::Resolved
+ << CalculatorBase::Resolution::Automatic)
<< autodependencyHash;
}
@@ -189,18 +189,17 @@ private slots:
QFETCH(PackageManagerCore *, core);
QFETCH(QList<Component *> , selectedComponents);
QFETCH(QList<Component *> , expectedResult);
- QFETCH(QList<int>, installReason);
+ QFETCH(QList<CalculatorBase::Resolution>, installReason);
QFETCH(AutoDependencyHash, autodependencyHash);
- InstallerCalculator calc(core, core->components(PackageManagerCore::ComponentType::AllNoReplacements)
- , autodependencyHash);
- calc.appendComponentsToInstall(selectedComponents);
- QList<Component *> result = calc.orderedComponentsToInstall();
+ InstallerCalculator calc(core, autodependencyHash);
+ calc.solve(selectedComponents);
+ QList<Component *> result = calc.resolvedComponents();
QCOMPARE(result.count(), expectedResult.count());
for (int i = 0; i < result.count(); i++) {
QCOMPARE(result.at(i), expectedResult.at(i));
- QCOMPARE((int)calc.installReasonType(result.at(i)), installReason.at(i));
+ QCOMPARE(calc.resolutionType(result.at(i)), installReason.at(i));
}
delete core;
}
@@ -236,11 +235,11 @@ private slots:
QFETCH(QList<Component *> , selectedComponents);
QFETCH(QList<Component *> , expectedResult);
- InstallerCalculator calc(core, core->components(PackageManagerCore::ComponentType::AllNoReplacements), QHash<QString, QStringList>());
+ InstallerCalculator calc(core, QHash<QString, QStringList>());
QTest::ignoreMessage(QtWarningMsg, "Cannot find missing dependency \"B->=2.0.0\" for \"A\".");
- calc.appendComponentsToInstall(selectedComponents);
+ calc.solve(selectedComponents);
- QList<Component *> result = calc.orderedComponentsToInstall();
+ QList<Component *> result = calc.resolvedComponents();
QCOMPARE(result.count(), expectedResult.count());
delete core;
}
@@ -249,10 +248,9 @@ private slots:
{
QTest::addColumn<PackageManagerCore *>("core");
QTest::addColumn<QList<Component *> >("selectedToUninstall");
- QTest::addColumn<QList<Component *> >("installedComponents");
- QTest::addColumn<QSet<Component *> >("expectedResult");
+ QTest::addColumn<QList<Component *> >("expectedResult");
QTest::addColumn<UninstallReasonList >("uninstallReasons");
- QTest::addColumn<DependencyHash >("dependencyHash");
+ QTest::addColumn<LocalDependencyHash >("dependencyHash");
UninstallReasonList uninstallReasonList;
PackageManagerCore *core = new PackageManagerCore();
@@ -274,12 +272,11 @@ private slots:
QHash<QString, QStringList> dependencyComponentHash;
dependencyComponentHash.insert(QLatin1String("A.B"), QStringList() << QLatin1String("B"));
- uninstallReasonList.append(qMakePair(componentAB, UninstallerCalculator::Selected));
- uninstallReasonList.append(qMakePair(componentB, UninstallerCalculator::Dependent));
+ uninstallReasonList.append(qMakePair(componentAB, CalculatorBase::Resolution::Selected));
+ uninstallReasonList.append(qMakePair(componentB, CalculatorBase::Resolution::Dependent));
QTest::newRow("Uninstaller resolved") << core
<< (QList<Component *>() << componentAB)
- << (QList<Component *>() << componentA << componentB)
- << (QSet<Component *>() << componentAB << componentB)
+ << (QList<Component *>() << componentB << componentAB)
<< uninstallReasonList
<< dependencyComponentHash;
@@ -300,12 +297,11 @@ private slots:
dependencyComponentHash.insert(QLatin1String("A"), QStringList() << QLatin1String("B"));
- uninstallReasonList.append(qMakePair(compA, UninstallerCalculator::Selected));
- uninstallReasonList.append(qMakePair(compB, UninstallerCalculator::Dependent));
+ uninstallReasonList.append(qMakePair(compA, CalculatorBase::Resolution::Selected));
+ uninstallReasonList.append(qMakePair(compB, CalculatorBase::Resolution::Dependent));
QTest::newRow("Cascade dependencies") << core
<< (QList<Component *>() << compA)
- << (QList<Component *>() << compB)
- << (QSet<Component *>() << compA << compB)
+ << (QList<Component *>() << compB << compA)
<< (uninstallReasonList)
<< dependencyComponentHash;
}
@@ -314,16 +310,15 @@ private slots:
{
QFETCH(PackageManagerCore *, core);
QFETCH(QList<Component *> , selectedToUninstall);
- QFETCH(QList<Component *> , installedComponents);
- QFETCH(QSet<Component *> , expectedResult);
+ QFETCH(QList<Component *> , expectedResult);
QFETCH(UninstallReasonList, uninstallReasons);
- QFETCH(DependencyHash, dependencyHash);
+ QFETCH(LocalDependencyHash, dependencyHash);
- UninstallerCalculator calc(installedComponents, core, QHash<QString, QStringList>(), dependencyHash, QStringList());
- calc.appendComponentsToUninstall(selectedToUninstall);
- QSet<Component *> result = calc.componentsToUninstall();
+ UninstallerCalculator calc(core, QHash<QString, QStringList>(), dependencyHash, QStringList());
+ calc.solve(selectedToUninstall);
+ QList<Component *> result = calc.resolvedComponents();
for (auto pair : uninstallReasons) {
- UninstallerCalculator::UninstallReasonType type = calc.uninstallReasonType(pair.first);
+ CalculatorBase::Resolution type = calc.resolutionType(pair.first);
QCOMPARE(pair.second, type);
}
QCOMPARE(result.count(), expectedResult.count());