summaryrefslogtreecommitdiff
path: root/test/integration/solver3.broken
Commit message (Collapse)AuthorAgeFilesLines
* solver3: Fix test-apt-move-and-forget-manual-sectionsJulian Andres Klode2025-02-181-1/+0
| | | | | Implement the moving of the auto bit. The whole auto-bit management is not entirely optimal yet, but this works.
* test: Annotate the broken test casesJulian Andres Klode2025-02-141-4/+4
|
* test-ubuntu-bug-614993: Avoid implicit upgrade-by-source requirementJulian Andres Klode2025-02-141-1/+0
| | | | | | | This allows it to work with solver3 before that feature is implemented. This essentially reverts the change to that test made in 119a8d0ed19a4e946591b9aef7d662e14ca7ece5
* ResolveByKeep: Do not pass UPGRADE_ALL to EDSP solverJulian Andres Klode2025-02-141-1/+0
| | | | | | | | | | When we call an EDSP solver from ResolveByKeep(), we are not in an upgrade context: In an upgrade context, we call the solver directly from upgrade.cc instead of doing any Resolve() or ResolveByKeep() calls. This fixes the test-bug-602412-dequote-redirect test case, where ResolveByKeep() was called as part of --fix-missing
* test-dont-forget-conflicts-via-unknown-architectures: Use install, not upgradeJulian Andres Klode2025-02-141-1/+0
| | | | | The 3.0 solver does not support upgrade arguments to override the policy.
* Fix test-phased-updates-upgradeJulian Andres Klode2025-02-141-1/+0
| | | | | | | Our upgrade policy does not support specifying packagenames to upgrade commands that are not subject to the policy. It's possible this can be addressed at a later time, but let's not block the rest of the test from running.
* solver3: Fix ordering of or groupsJulian Andres Klode2025-02-141-1/+0
| | | | | | | | | | | | | | | | | | | | | | We inadvertently performed a global ordering of all possible solutions for the or group using CompareProviders3. This however is not correct, as we lose the ordering of the dependency group *too* much. Mostly this has no effect, but you can see for example in test-explore-or-groups-in-markinstall various instances of it. Adjust said test case to work with the 3.0 solver to the extent possible under the current design. The 3.0 solver does Recommends after processing any manually installed packages; as such the various Recommends test cases do not work: A `Recommends: okay|upgrade` will not upgrade `upgrade` if it visited `upgrade` first. This may change at a future time, but the correct semantics for Recommends are not entirely clear. Notably, the existing solver is not always consistent. You can see here where they matter, but recently I added test-solver-recommends-depends in which the Recommends do not influence the choice of other Depends.
* solver3: Implement phasing as part of strict pinning rulesJulian Andres Klode2025-02-141-4/+1
| | | | | | | | Phased updates are ignored when strict pinning is on; such that only the installed version will be available. By design of SAT solvers, this means that the version selection clause is unit, and hence the version can be directly propagated, i.e. that choice is safe.
* test: Fix 7 test cases for 3.0 solver, annotate othersJulian Andres Klode2025-02-141-17/+10
| | | | | Fix the test cases we can fix directly; add annotations where we know what work is needed, next we'll look at the other bugs.
* solver3: Install Essential on dist-upgradeJulian Andres Klode2025-02-141-2/+0
| | | | | | | | This is a bit gnarly, but dist-upgrade is mapped to is an upgrade + removals allowed + installs allowed :D
* solver3: Defer 3.0 'deep' autoremoval to 3.1, fix autoremoveJulian Andres Klode2025-02-141-5/+0
| | | | | | Restore the depcache's MarkRequired logic for 3.0 solver; and change the MarkInstall() call to pass a more correct value for FromUser, to not override an existing automatic status.
* solver3: Remove fixed test cases from broken listJulian Andres Klode2025-01-301-2/+0
|
* Fix keeping back removals of obsolete packagesJulian Andres Klode2024-11-111-0/+1
| | | | | | | | | | | | | | ResolveByKeepInternal() inadvertently considered packages that were marked for removals as not being possible to keep back, but that's not true, all they need is to have a currently installed version. The test case is a bit awkward to construct because our upgrade code doesn't get into a place where this happens that we know off. Or maybe it does with phased upgrades, but here we simplify this by using a helper binary that dumps state, marks for removal, and then calls ResolveByKeep and checks the removal is undone. LP: #2078720
* solver3: Fix translations of removals for marked installJulian Andres Klode2024-05-241-1/+0
| | | | | | | | | We also need to issue a MarkDelete() if the package is marked for installation currently but should not be, not only if it did not have a previous version. This fixes the final test in test-multiarch-barbarian, the others only needed adjustments to mark all packages as automatic.
* solver3: Actually restore unsolved items rather than solved onesJulian Andres Klode2024-05-241-1/+0
| | | | | | | | | | | | | | | | | | | | | | | When restoring previously solved items, we try to restore items that have become unsolved again by skipping items that have a solved solution. Well at least we thought we did, but we accidentally had a "not" in there that inverted the meaning, hence we lost work items on backtracking. This mostly did not seem to have caused any issues, I stumbled over it while trying to add `autoremove` listings to `upgrade`, but fixing it also fixes: test-ubuntu-bug-1130419-prefer-installed-ma-same-siblings This used to say "E: Broken packages", meaning the solver lost a non-optional install request and the 2nd stage solver caught an incomplete solution. Also test-bug-735967-lib32-to-i386-unavailable restores the legacy solver behavior, so win win?
* solver3: Solve optional dependencies before optional packagesJulian Andres Klode2024-05-241-1/+0
| | | | | | | This somewhat improves reliability of not breaking Recommends, e.g. if the Recommends gets tightened. One test case enabled by this now is the test-resolver-provider-exchange, which with a simple change to allow removal of automatically installed packages works now.
* solver3: Promote satisfied Suggests to RecommendsJulian Andres Klode2024-05-241-2/+0
| | | | | | As per the test-suggests-promoted-to-recommends test. This is still a bit messy as we ignore alternative choices and only check the last one, but um seems useful?
* test-bug-758153-versioned-provides-support: Solver 3.0 supportJulian Andres Klode2024-05-241-1/+0
| | | | | The previous commit basically fixes this, it just requires some minor small adjustments
* test: Support the 3.0 solver in most existing test casesJulian Andres Klode2024-05-241-47/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Highlights: - test-bug-618848-always-respect-user-requests: (Do not) Support 3.0 solver A manually installed package is never removed just because we request the removal of its dependency in solver3. - test-bug-657695-resolver-breaks-on-virtuals: Support 3.0 solver For manually installed packages, solver 3.0 would require some new xserver-xorg-video-driver to Conflict+Replace+Provides the old one (once the logic is implemented), but that does seem reasonable. - test-bug-720597-build-dep-purge: Support 3.0 solver This needs a simple aptmark auto because pkga is removed by the build-dep. But further adjustments are necessary because it weirdly tested for no autoremovable packages before installing pkgc. - test-bug-960705-*: Support 3.0 solver Bit awkward to deal with; notably the protect to conflict doesn't actually work anymore and that is a feature these days.
* test: Temporarily ignore autoremovable lists for solver3Julian Andres Klode2024-05-241-1/+0
| | | | | We do not show them yet, so let's ignore them so we can focus on getting the rest of the tests to work.
* test: Run working tests against the 3.0 solverJulian Andres Klode2024-05-241-0/+86
Implement --solver, --only, -skip flags for the test suite, and run the test suite with the broken tests skipped against solver3.