Fix pkg.latest integration test for non-LTS ubuntu #34518
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This test uses
pkg.list_upgrades
to find a package which it assumes isinstalled, to test
pkg.installed
withonly_upgrade=True
. Theproblem with that approach is that
pkg.list_upgrades
uses a dry-runof an
apt-get dist-upgrade
to find the upgrades. On non-LTS Ubuntureleases, a
dist-upgrade
results in upgrading to an entirely newUbuntu release, and new packages which would be installed by the
dist-upgrade (but are not currently installed) will be included in the
return data. This causes the test to fail when we attempt to run
pkg.latest
withonly_upgrade=True
on a package which is notalready installed.
This commit fixes the test by ensuring that our target package is
already installed, and continuing to iterate through the return data
from
pkg.list_upgrades
until a currently-installed package is found.