[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