summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libs/installer/installercalculator.cpp5
-rw-r--r--tests/auto/installer/solver/tst_solver.cpp14
2 files changed, 13 insertions, 6 deletions
diff --git a/src/libs/installer/installercalculator.cpp b/src/libs/installer/installercalculator.cpp
index 4e0d7fdfa..7767b5d96 100644
--- a/src/libs/installer/installercalculator.cpp
+++ b/src/libs/installer/installercalculator.cpp
@@ -95,8 +95,7 @@ QString InstallerCalculator::componentsToInstallError() const
void InstallerCalculator::realAppendToInstallComponents(Component *component, const QString &version)
{
- if (!component->isUnstable() &&
- (!component->isInstalled(version) || component->updateRequested())) {
+ if (!component->isInstalled(version) || component->updateRequested()) {
m_orderedComponentsToInstall.append(component);
m_toInstallComponentIds.insert(component->name());
}
@@ -173,7 +172,7 @@ bool InstallerCalculator::appendComponentToInstall(Component *component, const Q
m_componentsToInstallError.append(errorMessage);
if (component->packageManagerCore()->settings().allowUnstableComponents()) {
component->setUnstable();
- return true;
+ continue;
} else {
return false;
}
diff --git a/tests/auto/installer/solver/tst_solver.cpp b/tests/auto/installer/solver/tst_solver.cpp
index 7ae502a5e..d1c3aaa14 100644
--- a/tests/auto/installer/solver/tst_solver.cpp
+++ b/tests/auto/installer/solver/tst_solver.cpp
@@ -32,6 +32,7 @@
#include <uninstallercalculator.h>
#include <componentchecker.h>
#include <packagemanagercore.h>
+#include <settings.h>
#include <QTest>
@@ -208,9 +209,16 @@ private slots:
core->appendRootComponent(componentA);
core->appendRootComponent(componentB);
- QTest::newRow("Installer resolved") << core
- << (QList<Component *>() << componentA)
- << (QList<Component *>());
+ if (core->settings().allowUnstableComponents()) {
+ QTest::newRow("Installer resolved") << core
+ << (QList<Component *>() << componentA)
+ << (QList<Component *>() << componentA);
+ } else {
+ QTest::newRow("Installer resolved") << core
+ << (QList<Component *>() << componentA)
+ << (QList<Component *>());
+ }
+
}
void unresolvedDependencyVersion()