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