[yum-git] Branch 'yum-3_2_X' - test/depsolvetests.py yum/__init__.py
James Antill
james at linux.duke.edu
Wed Aug 6 06:14:14 UTC 2008
test/depsolvetests.py | 26 ++++++++++++++++++++++----
yum/__init__.py | 8 +++++++-
2 files changed, 29 insertions(+), 5 deletions(-)
New commits:
commit 05937e57b96f6f53218132964f347ac46c28e384
Author: James Antill <james at and.org>
Date: Wed Aug 6 01:55:36 2008 -0400
Fix testMultiPkgVersions[45] and don't break anything else
diff --git a/test/depsolvetests.py b/test/depsolvetests.py
index e57148d..af873d4 100644
--- a/test/depsolvetests.py
+++ b/test/depsolvetests.py
@@ -865,10 +865,28 @@ class DepsolveTests(DepsolveTests):
self.xsack.addPackage(po3)
self.assertEquals('ok', *self.resolveCode())
- # FIXME: This is wrong, it should be one of:
- # self.assertResult((xpo, po3))
- # self.assertResult((xpo, po2))
- self.assertResult((xpo, po2, po3))
+ self.assertResult((xpo, po2))
+
+ def testMultiPkgVersions5(self):
+ ipo1 = FakePackage('abcd', arch='i386')
+ ipo1.addRequires('Foo', 'EQ', ('0', '1', '1'))
+ self.rpmdb.addPackage(ipo1)
+ ipo2 = FakePackage('Foo', arch='i386')
+ self.rpmdb.addPackage(ipo2)
+
+ xpo = FakePackage('abcd', version='2', arch='i386')
+ xpo.addRequires('Foo', 'GE', ('0', '2', '1'))
+ self.tsInfo.addUpdate(xpo, oldpo=ipo1)
+
+ po1 = FakePackage('Foo', arch='i386')
+ self.xsack.addPackage(po1)
+ po2 = FakePackage('Foo', version='2', arch='i686')
+ po3 = FakePackage('Foo', version='2', arch='i386')
+ self.xsack.addPackage(po3)
+ self.xsack.addPackage(po2)
+
+ self.assertEquals('ok', *self.resolveCode())
+ self.assertResult((xpo, po2))
# Test from "Real Life" because we just can't think like they do
def testRL_unison1(self):
diff --git a/yum/__init__.py b/yum/__init__.py
index 5c21db5..c6dcc99 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -2514,7 +2514,13 @@ class YumBase(depsolve.Depsolve):
# most likely correct
pot_updated = self.rpmdb.searchNevra(name=available_pkg.name, arch=available_pkg.arch)
for ipkg in pot_updated:
- if ipkg.verLT(available_pkg):
+ if self.tsInfo.isObsoleted(ipkg.pkgtup):
+ self.verbose_logger.log(logginglevels.DEBUG_2, _('Not Updating Package that is already obsoleted: %s.%s %s:%s-%s'),
+ ipkg.pkgtup)
+ elif self.tsInfo.getMembersWithState(ipkg.pkgtup, [TS_UPDATED]):
+ self.verbose_logger.log(logginglevels.DEBUG_2, _('Not Updating Package that is already updated: %s.%s %s:%s-%s'),
+ ipkg.pkgtup)
+ elif ipkg.verLT(available_pkg):
txmbr = self.tsInfo.addUpdate(available_pkg, ipkg)
if requiringPo:
txmbr.setAsDep(requiringPo)
More information about the Yum-cvs-commits
mailing list