[yum-git] test/simpleupdatetests.py
Florian Festi
ffesti at linux.duke.edu
Tue Feb 12 12:56:21 UTC 2008
test/simpleupdatetests.py | 115 +++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 114 insertions(+), 1 deletion(-)
New commits:
commit 115f62c742ac1dfe6de42dfda73addc134eda247
Author: Florian Festi <ffesti at redhat.com>
Date: Tue Feb 12 13:52:13 2008 +0100
More update test cases:
Update packages because an requirement got updated
and does no longer fullfill the requires
diff --git a/test/simpleupdatetests.py b/test/simpleupdatetests.py
index 0730cd7..485de54 100644
--- a/test/simpleupdatetests.py
+++ b/test/simpleupdatetests.py
@@ -2,22 +2,39 @@ from testbase import *
class SimpleUpdateTests(OperationsTests):
+ """This test suite runs three different type of tests - for all possible
+ combinations of arches installed and available as update.
+
+ 1. Update: as done with "yum update"
+ 2. UpdateForDependency: pkgs.requires_update requires a new version of the
+ already installed pkg(s)
+ 3. UpdateForDependency2: A requirement of the installed pkg(s) is removed during
+ an update. Yum tries to update these packages to resolve the situation.
+ """
+
@staticmethod
def buildPkgs(pkgs, *args):
# installed
pkgs.installed_i386 = FakePackage('zsh', '1', '1', '0', 'i386')
+ pkgs.installed_i386.addRequires('bar', 'EQ', ('0', '1', '1'))
pkgs.installed_x86_64 = FakePackage('zsh', '1', '1', '0', 'x86_64')
+ pkgs.installed_x86_64.addRequires('bar', 'EQ', ('0', '1', '1'))
pkgs.installed_noarch = FakePackage('zsh', '1', '1', '0', 'noarch')
+ pkgs.installed_noarch.addRequires('bar', 'EQ', ('0', '1', '1'))
# updates
pkgs.update_i386 = FakePackage('zsh', '2', '1', '0', 'i386')
pkgs.update_x86_64 = FakePackage('zsh', '2', '1', '0', 'x86_64')
pkgs.update_noarch = FakePackage('zsh', '2', '1', '0', 'noarch')
- # requires update
+ # requires update (UpdateForDependency tests)
pkgs.requires_update = FakePackage('zsh-utils', '2', '1', '0', 'noarch')
pkgs.requires_update.addRequires('zsh', 'EQ', ('0', '2', '1'))
+ # removed requirement due to update (UpdateForDependency2 tests)
+ pkgs.required = FakePackage('bar', '1', '1', '0')
+ pkgs.required_updated = FakePackage('bar', version='2')
# noarch to X
+
def testUpdatenoarchTonoarch(self):
p = self.pkgs
res, msg = self.runOperation(['update'], [p.installed_noarch], [p.update_noarch,])
@@ -28,6 +45,12 @@ class SimpleUpdateTests(OperationsTests):
res, msg = self.runOperation(['install', 'zsh-utils'], [p.installed_noarch], [p.update_noarch, p.requires_update])
self.assert_(res=='ok', msg)
self.assertResult((p.update_noarch, p.requires_update))
+ def testUpdatenoarchTonoarchForDependency2(self):
+ p = self.pkgs
+ res, msg = self.runOperation(['update', 'bar'], [p.required, p.installed_noarch],
+ [p.required_updated, p.update_noarch,])
+ self.assert_(res=='ok', msg)
+ self.assertResult((p.required_updated, p.update_noarch,))
def testUpdatenoarchToi386(self):
p = self.pkgs
@@ -39,6 +62,12 @@ class SimpleUpdateTests(OperationsTests):
res, msg = self.runOperation(['install', 'zsh-utils'], [p.installed_noarch], [p.update_i386, p.requires_update])
self.assert_(res=='ok', msg)
self.assertResult((p.update_i386, p.requires_update))
+ def testUpdatenoarchToi386ForDependency2(self):
+ p = self.pkgs
+ res, msg = self.runOperation(['update', 'bar'], [p.required, p.installed_noarch],
+ [p.required_updated, p.update_i386])
+ self.assert_(res=='ok', msg)
+ self.assertResult((p.required_updated, p.update_i386))
def testUpdatenoarchTox86_64(self):
p = self.pkgs
@@ -50,6 +79,12 @@ class SimpleUpdateTests(OperationsTests):
res, msg = self.runOperation(['install', 'zsh-utils'], [p.installed_noarch], [p.update_x86_64, p.requires_update])
self.assert_(res=='ok', msg)
self.assertResult((p.update_x86_64, p.requires_update))
+ def testUpdatenoarchTox86_64ForDependency2(self):
+ p = self.pkgs
+ res, msg = self.runOperation(['update', 'bar'], [p.required, p.installed_noarch],
+ [p.required_updated, p.update_x86_64])
+ self.assert_(res=='ok', msg)
+ self.assertResult((p.required_updated, p.update_x86_64))
def testUpdatenoarchToMultilib(self):
p = self.pkgs
@@ -64,6 +99,12 @@ class SimpleUpdateTests(OperationsTests):
res, msg = self.runOperation(['install', 'zsh-utils'], [p.installed_noarch], [p.update_i386, p.update_x86_64, p.requires_update])
self.assert_(res=='ok', msg)
self.assertResult((p.update_x86_64, p.requires_update), (p.update_i386,))
+ def testUpdatenoarchToMultilibForDependency2(self):
+ p = self.pkgs
+ res, msg = self.runOperation(['update', 'bar'], [p.required, p.installed_noarch],
+ [p.required_updated, p.update_i386, p.update_x86_64])
+ self.assert_(res=='ok', msg)
+ self.assertResult((p.required_updated, p.update_x86_64), (p.update_i386,))
# i386 to X
@@ -77,6 +118,12 @@ class SimpleUpdateTests(OperationsTests):
res, msg = self.runOperation(['install', 'zsh-utils'], [p.installed_i386], [p.update_noarch, p.requires_update])
self.assert_(res=='ok', msg)
self.assertResult((p.update_noarch, p.requires_update))
+ def testUpdatei386TonoarchForDependency2(self):
+ p = self.pkgs
+ res, msg = self.runOperation(['update', 'bar'], [p.required, p.installed_i386],
+ [p.required_updated, p.update_noarch,])
+ self.assert_(res=='ok', msg)
+ self.assertResult((p.required_updated, p.update_noarch,))
def testUpdatei386Toi386(self):
p = self.pkgs
@@ -88,6 +135,12 @@ class SimpleUpdateTests(OperationsTests):
res, msg = self.runOperation(['install', 'zsh-utils'], [p.installed_i386], [p.update_i386, p.requires_update])
self.assert_(res=='ok', msg)
self.assertResult((p.update_i386, p.requires_update))
+ def testUpdatei386Toi386ForDependency2(self):
+ p = self.pkgs
+ res, msg = self.runOperation(['update', 'bar'], [p.required, p.installed_i386],
+ [p.required_updated, p.update_i386])
+ self.assert_(res=='ok', msg)
+ self.assertResult((p.required_updated, p.update_i386))
def testUpdatei386Tox86_64(self):
p = self.pkgs
@@ -99,6 +152,12 @@ class SimpleUpdateTests(OperationsTests):
res, msg = self.runOperation(['install', 'zsh-utils'], [p.installed_i386], [p.update_x86_64, p.requires_update])
self.assert_(res=='ok', msg)
self.assertResult((p.update_x86_64, p.requires_update))
+ def testUpdatei386Tox86_64ForDependency2(self):
+ p = self.pkgs
+ res, msg = self.runOperation(['update', 'bar'], [p.required, p.installed_i386],
+ [p.required_updated, p.update_x86_64])
+ self.assert_(res=='ok', msg)
+ self.assertResult((p.required_updated, p.update_x86_64))
def testUpdatei386ToMultilib(self):
p = self.pkgs
@@ -110,6 +169,12 @@ class SimpleUpdateTests(OperationsTests):
res, msg = self.runOperation(['install', 'zsh-utils'], [p.installed_i386], [p.update_i386, p.update_x86_64, p.requires_update])
self.assert_(res=='ok', msg)
self.assertResult((p.update_i386, p.requires_update))
+ def testUpdatei386ToMultilibForDependency2(self):
+ p = self.pkgs
+ res, msg = self.runOperation(['update', 'bar'], [p.required, p.installed_i386],
+ [p.required_updated, p.update_i386, p.update_x86_64])
+ self.assert_(res=='ok', msg)
+ self.assertResult((p.required_updated, p.update_i386))
# x86_64 to X
@@ -124,6 +189,12 @@ class SimpleUpdateTests(OperationsTests):
[p.update_noarch, p.requires_update])
self.assert_(res=='ok', msg)
self.assertResult((p.update_noarch, p.requires_update))
+ def testUpdatex86_64TonoarchForDependency2(self):
+ p = self.pkgs
+ res, msg = self.runOperation(['update', 'bar'], [p.required, p.installed_x86_64],
+ [p.required_updated, p.update_noarch])
+ self.assert_(res=='ok', msg)
+ self.assertResult((p.required_updated, p.update_noarch))
def testUpdatex86_64Toi386(self):
p = self.pkgs
@@ -136,6 +207,12 @@ class SimpleUpdateTests(OperationsTests):
[p.update_i386, p.requires_update])
self.assert_(res=='ok', msg)
self.assertResult((p.update_i386, p.requires_update))
+ def testUpdatex86_64Toi386ForDependency2(self):
+ p = self.pkgs
+ res, msg = self.runOperation(['update', 'bar'], [p.required, p.installed_x86_64],
+ [p.required_updated, p.update_i386])
+ self.assert_(res=='ok', msg)
+ self.assertResult((p.required_updated, p.update_i386))
def testUpdatex86_64Tox86_64(self):
p = self.pkgs
@@ -148,6 +225,12 @@ class SimpleUpdateTests(OperationsTests):
[p.update_x86_64, p.requires_update])
self.assert_(res=='ok', msg)
self.assertResult((p.update_x86_64, p.requires_update))
+ def testUpdatex86_64Tox86_64ForDependency2(self):
+ p = self.pkgs
+ res, msg = self.runOperation(['update', 'bar'], [p.required, p.installed_x86_64],
+ [p.required_updated, p.update_x86_64])
+ self.assert_(res=='ok', msg)
+ self.assertResult((p.required_updated, p.update_x86_64))
def testUpdatex86_64ToMultilib(self):
p = self.pkgs
@@ -160,6 +243,12 @@ class SimpleUpdateTests(OperationsTests):
[p.update_i386, p.update_x86_64, p.requires_update])
self.assert_(res=='ok', msg)
self.assertResult((p.update_x86_64, p.requires_update))
+ def testUpdatex86_64ToMultilibForDependency2(self):
+ p = self.pkgs
+ res, msg = self.runOperation(['update', 'bar'], [p.required, p.installed_x86_64],
+ [p.required_updated, p.update_i386, p.update_x86_64])
+ self.assert_(res=='ok', msg)
+ self.assertResult((p.required_updated, p.update_x86_64))
# multilib to X
@@ -173,6 +262,12 @@ class SimpleUpdateTests(OperationsTests):
res, msg = self.runOperation(['install', 'zsh-utils'], [p.installed_i386, p.installed_x86_64], [p.update_noarch, p.requires_update])
self.assert_(res=='ok', msg)
self.assertResult((p.update_noarch, p.requires_update))
+ def testUpdateMultilibTonoarchForDependency2(self):
+ p = self.pkgs
+ res, msg = self.runOperation(['update', 'bar'], [p.required, p.installed_i386, p.installed_x86_64],
+ [p.required_updated, p.update_noarch])
+ self.assert_(res=='ok', msg)
+ self.assertResult((p.required_updated, p.update_noarch))
def testUpdateMultilibToi386(self):
p = self.pkgs
@@ -192,6 +287,12 @@ class SimpleUpdateTests(OperationsTests):
# self.assertResult((p.update_i386, p.requires_update)) # XXX is this right?
else:
self.assertResult((p.update_i386, p.installed_x86_64, p.requires_update))
+ def testUpdateMultilibToi386ForDependency2(self):
+ p = self.pkgs
+ res, msg = self.runOperation(['update', 'bar'], [p.required, p.installed_i386, p.installed_x86_64],
+ [p.required_updated, p.update_i386])
+ self.assert_(res=='err', msg)
+ self.assertResult((p.required_updated, p.update_i386, p.installed_x86_64))
def testUpdateMultilibTox86_64(self):
p = self.pkgs
@@ -211,6 +312,12 @@ class SimpleUpdateTests(OperationsTests):
# self.assertResult((p.update_x86_64, p.requires_update)) # XXX is this right?
else:
self.assertResult((p.update_x86_64, p.installed_i386, p.requires_update))
+ def testUpdateMultilibTox86_64ForDependency2(self):
+ p = self.pkgs
+ res, msg = self.runOperation(['update', 'bar'], [p.required, p.installed_i386, p.installed_x86_64],
+ [p.required_updated, p.update_x86_64])
+ self.assert_(res=='err', msg)
+ self.assertResult((p.required_updated, p.update_x86_64, p.installed_i386))
def testUpdateMultilibToMultilib(self):
p = self.pkgs
@@ -222,3 +329,9 @@ class SimpleUpdateTests(OperationsTests):
res, msg = self.runOperation(['install', 'zsh-utils'], [p.installed_i386, p.installed_x86_64], [p.update_i386, p.update_x86_64, p.requires_update])
self.assert_(res=='ok', msg)
self.assertResult((p.update_i386, p.update_x86_64, p.requires_update))
+ def testUpdateMultilibToMultilibForDependency2(self):
+ p = self.pkgs
+ res, msg = self.runOperation(['update', 'bar'], [p.required, p.installed_i386, p.installed_x86_64],
+ [p.required_updated, p.update_i386, p.update_x86_64])
+ self.assert_(res=='ok', msg)
+ self.assertResult((p.required_updated, p.update_i386, p.update_x86_64))
More information about the Yum-cvs-commits
mailing list