diff options
author | Katja Marttila <katja.marttila@qt.io> | 2017-03-30 10:26:40 +0300 |
---|---|---|
committer | Katja Marttila <katja.marttila@qt.io> | 2017-03-30 10:34:22 +0300 |
commit | a42a15779a4c75431add40f0b88fc57c591b1efa (patch) | |
tree | 74f97639b2d39be0599f4239f67121bdde846415 /tests | |
parent | 2385184b8b1aeaac6d0b42739b44c4786a6e9cab (diff) | |
parent | 7e91db5b1e01ffeeaa566ebb5b8230dcdc6b514f (diff) |
Merge remote-tracking branch 'origin/3.0'
Change-Id: Ic3c8005de03b2cc71436aaa18486085a845dca78
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/installer/solver/tst_solver.cpp | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/tests/auto/installer/solver/tst_solver.cpp b/tests/auto/installer/solver/tst_solver.cpp index 5ccf0b2c8..5829621f2 100644 --- a/tests/auto/installer/solver/tst_solver.cpp +++ b/tests/auto/installer/solver/tst_solver.cpp @@ -155,15 +155,19 @@ private slots: componentA->appendComponent(componentAA); componentA->appendComponent(componentAB); NamedComponent *componentB = new NamedComponent(core, QLatin1String("B")); + NamedComponent *componentB_NewVersion = new NamedComponent(core, QLatin1String("B_version"), QLatin1String("2.0.0")); componentB->addDependency(QLatin1String("A.B")); + componentAB->addDependency(QLatin1String("B_version->=2.0.0")); core->appendRootComponent(componentA); core->appendRootComponent(componentB); + core->appendRootComponent(componentB_NewVersion); QTest::newRow("Installer resolved") << core << (QList<Component *>() << componentB) - << (QList<Component *>() << componentAB << componentB) + << (QList<Component *>() << componentB_NewVersion << componentAB << componentB) << (QList<int>() << InstallerCalculator::Dependent + << InstallerCalculator::Dependent << InstallerCalculator::Resolved); } @@ -186,6 +190,40 @@ private slots: delete core; } + void unresolvedDependencyVersion_data() + { + QTest::addColumn<PackageManagerCore *>("core"); + QTest::addColumn<QList<Component *> >("selectedComponents"); + QTest::addColumn<QList<Component *> >("expectedResult"); + + PackageManagerCore *core = new PackageManagerCore(); + core->setPackageManager(); + NamedComponent *componentA = new NamedComponent(core, QLatin1String("A")); + NamedComponent *componentB = new NamedComponent(core, QLatin1String("B"), QLatin1String("1.0.0")); + componentA->addDependency(QLatin1String("B->=2.0.0")); + core->appendRootComponent(componentA); + core->appendRootComponent(componentB); + + QTest::newRow("Installer resolved") << core + << (QList<Component *>() << componentA) + << (QList<Component *>()); + } + + void unresolvedDependencyVersion() + { + QFETCH(PackageManagerCore *, core); + QFETCH(QList<Component *> , selectedComponents); + QFETCH(QList<Component *> , expectedResult); + + InstallerCalculator calc(core->components(PackageManagerCore::ComponentType::AllNoReplacements)); + QTest::ignoreMessage(QtWarningMsg, "Cannot find missing dependency \"B->=2.0.0\" for \"A\"."); + calc.appendComponentsToInstall(selectedComponents); + + QList<Component *> result = calc.orderedComponentsToInstall(); + QCOMPARE(result.count(), expectedResult.count()); + delete core; + } + void resolveUninstaller_data() { QTest::addColumn<PackageManagerCore *>("core"); |