Hi!

Two more patches from the test case series:

The first one make alltests search the test/ directory for modules instead of using a hard coded list. This should make adding more modules easier.

The second moves the SimpleObsoletesTests into an own module. Additionally it adds a large number of tests to cover all noarch,i386,x86_64 combinations.

Please commit.

Florian
>From 6b2252dbdcc6537ed270eb532509e98b873d8ff3 Mon Sep 17 00:00:00 2001
From: Florian Festi <[EMAIL PROTECTED]>
Date: Mon, 5 Nov 2007 15:59:45 +0100
Subject: [PATCH] Read test modules from file systeRead test modules from file systemm

---
 test/alltests.py |   25 ++++++++++++++++---------
 1 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/test/alltests.py b/test/alltests.py
index a0911db..6733a20 100644
--- a/test/alltests.py
+++ b/test/alltests.py
@@ -1,17 +1,24 @@
 import unittest
 import testbase
-
-import depsolvetests
-import packagetests
-import operationstests
+from glob import glob
+import os.path
 
 def suite():
+    files = glob(os.path.join(os.path.dirname(__file__), '*.py'))
+    modules = [os.path.basename(f)[:-3] for f in files]
+    suites = []
+
+    print "Test modules:"
+    for m in modules:
+        if m in ('alltests', 'testbase'):
+            continue
+        module = __import__(m)
+        if hasattr(module, 'suite'):
+            print "\t%s" % m
+            suites.append(module.suite())
+
     # Append all test suites here:
-    return unittest.TestSuite((
-        depsolvetests.suite(),
-        operationstests.suite(),
-        packagetests.suite(),
-    ))
+    return unittest.TestSuite(suites)
 
 if __name__ == "__main__":
     unittest.main(defaultTest="suite")
-- 
1.5.3.3

>From 44fca0d109e7a1ebc20277032c530eea727ea12e Mon Sep 17 00:00:00 2001
From: Florian Festi <[EMAIL PROTECTED]>
Date: Mon, 5 Nov 2007 16:06:49 +0100
Subject: [PATCH] Move SimpleObsoletesTests into an own module
 Complete the coverage to all noarch, i386, x86_64, i386+x86_64 combinations

---
 test/operationstests.py      |  100 +------------------
 test/simpleobsoletestests.py |  226 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 228 insertions(+), 98 deletions(-)
 create mode 100644 test/simpleobsoletestests.py

diff --git a/test/operationstests.py b/test/operationstests.py
index c3658a7..3bab8a4 100644
--- a/test/operationstests.py
+++ b/test/operationstests.py
@@ -1,5 +1,5 @@
 from testbase import *
-
+from simpleobsoletestests import SimpleObsoletesTests
 
 class SimpleUpdateTests(OperationsTests):
 
@@ -220,108 +220,13 @@ class SimpleUpdateTests(OperationsTests):
         self.assert_(res=='ok', msg)
         self.assertResult((p.update_i386, p.update_x86_64,  p.requires_update))
 
-class SimpleObsoleteTests(OperationsTests):
-
-    @staticmethod
-    def buildPkgs(pkgs, *args):
-        # installed
-        pkgs.installed_i386 = FakePackage('zsh', '1', '1', '0', 'i386')
-        pkgs.installed_x86_64 = FakePackage('zsh', '1', '1', '0', 'x86_64')
-        pkgs.installed_noarch = FakePackage('zsh', '1', '1', '0', 'noarch')
-        # obsoletes
-        pkgs.obsoletes_i386 = FakePackage('zsh-ng', '0.3', '1', '0', 'i386')
-        pkgs.obsoletes_i386.addObsoletes('zsh', None, (None, None, None))
-        pkgs.obsoletes_i386.addProvides('zzz')
-        pkgs.obsoletes_x86_64 = FakePackage('zsh-ng', '0.3', '1', '0', 'x86_64')
-        pkgs.obsoletes_x86_64.addObsoletes('zsh', None, (None, None, None))
-        pkgs.obsoletes_x86_64.addProvides('zzz')
-        pkgs.obsoletes_noarch = FakePackage('zsh-ng', '0.3', '1', '0', 'noarch')
-        pkgs.obsoletes_noarch.addObsoletes('zsh', None, (None, None, None))
-        pkgs.obsoletes_noarch.addProvides('zzz')
-        # requires obsoletes
-        pkgs.requires_obsoletes = FakePackage('superzippy', '3.5', '3', '0', 'noarch')
-        pkgs.requires_obsoletes.addRequires('zzz')
-
-
-    def testObsoletenoarchToMultiarch(self):
-        p = self.pkgs
-        res, msg = self.runOperation(['update'], [p.installed_noarch], [p.obsoletes_i386, p.obsoletes_x86_64])
-        self.assert_(res=='ok', msg)
-        if new_behavior:
-            self.assertResult((p.obsoletes_x86_64,), (p.obsoletes_i386,))
-        else:
-            self.assertResult((p.obsoletes_i386, p.obsoletes_x86_64))
-    def testObsoletenoarchToMultiarchForDependency(self):
-        p = self.pkgs
-        res, msg = self.runOperation(['install', 'superzippy'], [p.installed_noarch],
-                                     [p.obsoletes_i386, p.obsoletes_x86_64, p.requires_obsoletes])
-        self.assert_(res=='ok', msg)
-        self.assertResult((p.obsoletes_x86_64, p.requires_obsoletes), (p.obsoletes_i386,))
-    def testObsoletenoarchToMultiarchForDependencyFix(self):
-        p = self.pkgs
-        res, msg = self.runOperation(['update'], [p.installed_noarch, p.obsoletes_x86_64, p.requires_obsoletes], [p.obsoletes_i386, p.obsoletes_x86_64])
-        self.assert_(res==0, msg)
-        #self.assertResult((p.obsoletes_x86_64,)) # yes, this would be nice - but also wrong
-        self.assertResult((p.installed_noarch, p.obsoletes_x86_64, p.requires_obsoletes))
-
-    def testObsoletei386ToMultiarch(self):
-        p = self.pkgs
-        res, msg = self.runOperation(['update'], [p.installed_i386], [p.obsoletes_i386, p.obsoletes_x86_64])
-        self.assert_(res=='ok', msg)
-        self.assertResult((p.obsoletes_i386,))
-    def testObsoletei386ToMultiarchForDependency(self):
-        p = self.pkgs
-        res, msg = self.runOperation(['install', 'superzippy'], [p.installed_i386], [p.obsoletes_i386, p.obsoletes_x86_64, p.requires_obsoletes])
-        self.assert_(res=='ok', msg)
-        self.assertResult((p.obsoletes_i386, p.requires_obsoletes))
-    def testObsoletei386ToMultiarchForDependencyFix(self):
-        p = self.pkgs
-        res, msg = self.runOperation(['update'], [p.installed_i386, p.obsoletes_x86_64, p.requires_obsoletes], [p.obsoletes_i386, p.obsoletes_x86_64])
-        self.assert_(res==0, msg)
-        #self.assertResult((p.obsoletes_i386, p.obsoletes_x86_64, p.requires_obsoletes)) # yes, this would be nice - but also wrong
-        self.assertResult((p.installed_i386, p.obsoletes_x86_64, p.requires_obsoletes))
-
-    def testObsoletex86_64ToMultiarch(self):
-        p = self.pkgs
-        res, msg = self.runOperation(['update'], [p.installed_x86_64], [p.obsoletes_i386, p.obsoletes_x86_64])
-        self.assert_(res=='ok', msg)
-        self.assertResult((p.obsoletes_x86_64,))
-    def testObsoletex86_64ToMultiarchForDependency(self):
-        p = self.pkgs
-        res, msg = self.runOperation(['install', 'superzippy'],
-                                     [p.installed_x86_64], [p.obsoletes_i386, p.obsoletes_x86_64, p.requires_obsoletes])
-        self.assert_(res=='ok', msg)
-        self.assertResult((p.obsoletes_x86_64, p.requires_obsoletes))
-
-    def testObsoleteMultiarchToMultiarch(self):
-        p = self.pkgs
-        res, msg = self.runOperation(['update'], [p.installed_i386, p.installed_x86_64], [p.obsoletes_i386, p.obsoletes_x86_64])
-        self.assert_(res=='ok', msg)
-        self.assertResult((p.obsoletes_i386, p.obsoletes_x86_64))
-    def testObsoleteMultiarchToMultiarchForDependency(self):
-        p = self.pkgs
-        res, msg = self.runOperation(['install', 'superzippy'],
-                                     [p.installed_i386, p.installed_x86_64], [p.obsoletes_i386, p.obsoletes_x86_64, p.requires_obsoletes])
-        self.assert_(res=='ok', msg)
-        self.assertResult((p.obsoletes_i386, p.obsoletes_x86_64, p.requires_obsoletes))
-
-    def testObsoleteMultiarchTonoarch(self):
-        p = self.pkgs
-        res, msg = self.runOperation(['update'], [p.installed_i386, p.installed_x86_64], [p.obsoletes_noarch])
-        self.assert_(res=='ok', msg)
-        self.assertResult((p.obsoletes_noarch,))
-    def testObsoleteMultiarchTonoarchForDependency(self):
-        p = self.pkgs
-        res, msg = self.runOperation(['install', 'superzippy'], [p.installed_i386, p.installed_x86_64], [p.obsoletes_noarch, p.requires_obsoletes])
-        self.assert_(res=='ok', msg)
-        self.assertResult((p.obsoletes_noarch, p.requires_obsoletes))
 
 # Obsolete for conflict
 class ComplicatedTests(OperationsTests):
 
     @staticmethod
     def buildPkgs(pkgs, *args):
-        SimpleObsoleteTests.buildPkgs(pkgs)
+        SimpleObsoletesTests.buildPkgs(pkgs)
         # conflicts
         pkgs.conflicts = FakePackage('super-zippy', '0.3', '1', '0', 'i386')
         pkgs.conflicts.addConflicts('zsh', 'EQ', ('0', '1', '1'))
@@ -336,7 +241,6 @@ class ComplicatedTests(OperationsTests):
 def suite():
     suite = unittest.TestSuite()
     suite.addTest(unittest.makeSuite(SimpleUpdateTests))
-    suite.addTest(unittest.makeSuite(SimpleObsoleteTests))
     suite.addTest(unittest.makeSuite(ComplicatedTests))
     return suite
 
diff --git a/test/simpleobsoletestests.py b/test/simpleobsoletestests.py
new file mode 100644
index 0000000..07d9e88
--- /dev/null
+++ b/test/simpleobsoletestests.py
@@ -0,0 +1,226 @@
+from testbase import *
+
+class SimpleObsoletesTests(OperationsTests):
+
+    @staticmethod
+    def buildPkgs(pkgs, *args):
+        # installed
+        pkgs.installed_i386 = FakePackage('zsh', '1', '1', '0', 'i386')
+        pkgs.installed_x86_64 = FakePackage('zsh', '1', '1', '0', 'x86_64')
+        pkgs.installed_noarch = FakePackage('zsh', '1', '1', '0', 'noarch')
+        # obsoletes
+        pkgs.obsoletes_i386 = FakePackage('zsh-ng', '0.3', '1', '0', 'i386')
+        pkgs.obsoletes_i386.addObsoletes('zsh', None, (None, None, None))
+        pkgs.obsoletes_i386.addProvides('zzz')
+        pkgs.obsoletes_x86_64 = FakePackage('zsh-ng', '0.3', '1', '0', 'x86_64')
+        pkgs.obsoletes_x86_64.addObsoletes('zsh', None, (None, None, None))
+        pkgs.obsoletes_x86_64.addProvides('zzz')
+        pkgs.obsoletes_noarch = FakePackage('zsh-ng', '0.3', '1', '0', 'noarch')
+        pkgs.obsoletes_noarch.addObsoletes('zsh', None, (None, None, None))
+        pkgs.obsoletes_noarch.addProvides('zzz')
+        # requires obsoletes
+        pkgs.requires_obsoletes = FakePackage('superzippy', '3.5', '3', '0', 'noarch')
+        pkgs.requires_obsoletes.addRequires('zzz')
+
+    # noarch to X
+
+    def testObsoletenoarchTonoarch(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['update'], [p.installed_noarch], [p.obsoletes_noarch])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_noarch,))
+    def testObsoletenoarchTonoarchForDependency(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['install', 'superzippy'], [p.installed_noarch],
+                                     [p.obsoletes_noarch, p.requires_obsoletes])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_noarch, p.requires_obsoletes))
+
+    def testObsoletenoarchToi386(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['update'], [p.installed_noarch], [p.obsoletes_i386])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_i386,))
+    def testObsoletenoarchToi386ForDependency(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['install', 'superzippy'], [p.installed_noarch],
+                                     [p.obsoletes_i386, p.requires_obsoletes])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_i386, p.requires_obsoletes))
+
+    def testObsoletenoarchTox86_64(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['update'], [p.installed_noarch], [p.obsoletes_x86_64])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_x86_64,))
+    def testObsoletenoarchTox86_64ForDependency(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['install', 'superzippy'], [p.installed_noarch],
+                                     [p.obsoletes_x86_64, p.requires_obsoletes])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_x86_64, p.requires_obsoletes))
+
+    def testObsoletenoarchToMultiarch(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['update'], [p.installed_noarch], [p.obsoletes_i386, p.obsoletes_x86_64])
+        self.assert_(res=='ok', msg)
+        if new_behavior:
+            self.assertResult((p.obsoletes_x86_64,), (p.obsoletes_i386,))
+        else:
+            self.assertResult((p.obsoletes_i386, p.obsoletes_x86_64))
+    def testObsoletenoarchToMultiarchForDependency(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['install', 'superzippy'], [p.installed_noarch],
+                                     [p.obsoletes_i386, p.obsoletes_x86_64, p.requires_obsoletes])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_x86_64, p.requires_obsoletes), (p.obsoletes_i386,))
+
+    # i386 to X
+
+    def testObsoletei386Tonoarch(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['update'], [p.installed_i386], [p.obsoletes_noarch])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_noarch,))
+    def testObsoletei386TonoarchForDependency(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['install', 'superzippy'], [p.installed_i386], [p.obsoletes_noarch, p.requires_obsoletes])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_noarch, p.requires_obsoletes))
+
+    def testObsoletei386Toi386(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['update'], [p.installed_i386], [p.obsoletes_i386])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_i386,))
+    def testObsoletei386Toi386ForDependency(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['install', 'superzippy'], [p.installed_i386], [p.obsoletes_i386, p.requires_obsoletes])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_i386, p.requires_obsoletes))
+
+    def testObsoletei386Tox86_64(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['update'], [p.installed_i386], [p.obsoletes_x86_64])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_x86_64,))
+    def testObsoletei386Tox86_64ForDependency(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['install', 'superzippy'], [p.installed_i386], [p.obsoletes_x86_64, p.requires_obsoletes])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_x86_64, p.requires_obsoletes))
+
+
+    def testObsoletei386ToMultiarch(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['update'], [p.installed_i386], [p.obsoletes_i386, p.obsoletes_x86_64])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_i386,))
+    def testObsoletei386ToMultiarchForDependency(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['install', 'superzippy'], [p.installed_i386], [p.obsoletes_i386, p.obsoletes_x86_64, p.requires_obsoletes])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_i386, p.requires_obsoletes))
+
+    # x86_64 to X
+
+    def testObsoletex86_64Tonoarch(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['update'], [p.installed_x86_64], [p.obsoletes_noarch])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_noarch,))
+    def testObsoletex86_64TonoarchForDependency(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['install', 'superzippy'], [p.installed_x86_64], [p.obsoletes_noarch, p.requires_obsoletes])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_noarch, p.requires_obsoletes))
+
+    def testObsoletex86_64Toi386(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['update'], [p.installed_x86_64], [p.obsoletes_i386])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_i386,))
+    def testObsoletex86_64Toi386ForDependency(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['install', 'superzippy'], [p.installed_x86_64], [p.obsoletes_i386, p.requires_obsoletes])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_i386, p.requires_obsoletes))
+
+    def testObsoletex86_64Tox86_64(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['update'], [p.installed_x86_64], [p.obsoletes_x86_64])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_x86_64,))
+    def testObsoletex86_64Tox86_64ForDependency(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['install', 'superzippy'], [p.installed_x86_64], [p.obsoletes_x86_64, p.requires_obsoletes])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_x86_64, p.requires_obsoletes))
+
+    def testObsoletex86_64ToMultiarch(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['update'], [p.installed_x86_64], [p.obsoletes_i386, p.obsoletes_x86_64])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_x86_64,))
+    def testObsoletex86_64ToMultiarchForDependency(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['install', 'superzippy'],
+                                     [p.installed_x86_64], [p.obsoletes_i386, p.obsoletes_x86_64, p.requires_obsoletes])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_x86_64, p.requires_obsoletes))
+
+    # multiarch to X
+
+    def testObsoleteMultiarchTonoarch(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['update'], [p.installed_i386, p.installed_x86_64], [p.obsoletes_noarch])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_noarch,))
+    def testObsoleteMultiarchTonoarchForDependency(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['install', 'superzippy'], [p.installed_i386, p.installed_x86_64], [p.obsoletes_noarch, p.requires_obsoletes])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_noarch, p.requires_obsoletes))
+
+    def testObsoleteMultiarchToi386(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['update'], [p.installed_i386, p.installed_x86_64], [p.obsoletes_i386])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_i386,))
+    def testObsoleteMultiarchToi386ForDependency(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['install', 'superzippy'], [p.installed_i386, p.installed_x86_64], [p.obsoletes_i386, p.requires_obsoletes])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_i386, p.requires_obsoletes))
+
+    def testObsoleteMultiarchTox86_64(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['update'], [p.installed_i386, p.installed_x86_64], [p.obsoletes_x86_64])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_x86_64,))
+    def testObsoleteMultiarchTox86_64ForDependency(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['install', 'superzippy'], [p.installed_i386, p.installed_x86_64], [p.obsoletes_x86_64, p.requires_obsoletes])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_x86_64, p.requires_obsoletes))
+
+    def testObsoleteMultiarchToMultiarch(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['update'], [p.installed_i386, p.installed_x86_64], [p.obsoletes_i386, p.obsoletes_x86_64])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_i386, p.obsoletes_x86_64))
+    def testObsoleteMultiarchToMultiarchForDependency(self):
+        p = self.pkgs
+        res, msg = self.runOperation(['install', 'superzippy'],
+                                     [p.installed_i386, p.installed_x86_64], [p.obsoletes_i386, p.obsoletes_x86_64, p.requires_obsoletes])
+        self.assert_(res=='ok', msg)
+        self.assertResult((p.obsoletes_i386, p.obsoletes_x86_64, p.requires_obsoletes))
+
+def suite():
+    suite = unittest.TestSuite()
+    suite.addTest(unittest.makeSuite(SimpleObsoletesTests))
+    return suite
+
+if __name__ == "__main__":
+    unittest.main(defaultTest="suite")
+
-- 
1.5.3.3

_______________________________________________
Yum-devel mailing list
[email protected]
https://lists.dulug.duke.edu/mailman/listinfo/yum-devel

Reply via email to