[yum-git] test/depsolvetests.py

James Antill james at linux.duke.edu
Thu Mar 27 14:36:59 UTC 2008


 test/depsolvetests.py |  114 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 114 insertions(+)

New commits:
commit 7b30601f1ed32d0a79ed51b564477bb29a29fe7b
Author: James Antill <james at and.org>
Date:   Thu Mar 27 10:36:38 2008 -0400

    Add some unit tests, testMultiPkgVersions[34] are wrong

diff --git a/test/depsolvetests.py b/test/depsolvetests.py
index 9589421..2629cf5 100644
--- a/test/depsolvetests.py
+++ b/test/depsolvetests.py
@@ -714,3 +714,117 @@ class DepsolveTests(DepsolveTests):
 
         self.assertEquals('ok', *self.resolveCode())
         self.assertResult((po, po2))
+
+    def testSelfObsInstall(self):
+        xpo = FakePackage('abcd', version='2', arch='noarch')
+        xpo.addObsoletes('abcd-Foo', None, (None, None, None))
+        xpo.addProvides('abcd-Foo', None, (None, None, None))
+        self.tsInfo.addInstall(xpo)
+
+        self.assertEquals('ok', *self.resolveCode())
+        self.assertResult((xpo,))
+
+    def testSelfObsUpgrade(self):
+        ipo = FakePackage('abcd', arch='noarch')
+        ipo.addObsoletes('abcd-Foo', None, (None, None, None))
+        ipo.addProvides('abcd-Foo', None, (None, None, None))
+        self.rpmdb.addPackage(ipo)
+        
+        xpo = FakePackage('abcd', version='2', arch='noarch')
+        xpo.addObsoletes('abcd-Foo', None, (None, None, None))
+        xpo.addProvides('abcd-Foo', None, (None, None, None))
+        self.tsInfo.addUpdate(xpo, oldpo=ipo)
+
+        self.assertEquals('ok', *self.resolveCode())
+        self.assertResult((xpo,))
+
+
+    def testMultiPkgVersions1(self):
+        ipo1 = FakePackage('abcd', arch='noarch')
+        ipo1.addRequires('Foo', 'EQ', ('0', '1', '1'))
+        self.rpmdb.addPackage(ipo1)
+        ipo2 = FakePackage('Foo', arch='noarch')
+        self.rpmdb.addPackage(ipo2)
+        
+        xpo = FakePackage('abcd', version='2', arch='noarch')
+        xpo.addRequires('Foo', 'GE', ('0', '2', '1'))
+        self.tsInfo.addUpdate(xpo, oldpo=ipo1)
+
+        po1 = FakePackage('Foo', arch='noarch')
+        self.xsack.addPackage(po1)
+        po2 = FakePackage('Foo', version='2', arch='noarch')
+        self.xsack.addPackage(po2)
+        po3 = FakePackage('Foo', version='3', arch='noarch')
+        self.xsack.addPackage(po3)
+    
+        self.assertEquals('ok', *self.resolveCode())
+        self.assertResult((xpo, po3))
+
+    def testMultiPkgVersions2(self):
+        ipo1 = FakePackage('abcd', arch='i586')
+        ipo1.addRequires('Foo', 'EQ', ('0', '1', '1'))
+        self.rpmdb.addPackage(ipo1)
+        ipo2 = FakePackage('Foo', arch='i586')
+        self.rpmdb.addPackage(ipo2)
+        
+        xpo = FakePackage('abcd', version='2', arch='i586')
+        xpo.addRequires('Foo', 'GE', ('0', '2', '1'))
+        self.tsInfo.addUpdate(xpo, oldpo=ipo1)
+
+        po1 = FakePackage('Foo', arch='i586')
+        self.xsack.addPackage(po1)
+        po2 = FakePackage('Foo', version='2', arch='i586')
+        self.xsack.addPackage(po2)
+        po3 = FakePackage('Foo', version='2', arch='i586')
+        self.xsack.addPackage(po3)
+    
+        self.assertEquals('ok', *self.resolveCode())
+        self.assertResult((xpo, po3))
+
+    def testMultiPkgVersions3(self):
+        ipo1 = FakePackage('abcd', arch='i586')
+        ipo1.addRequires('Foo', 'EQ', ('0', '1', '1'))
+        self.rpmdb.addPackage(ipo1)
+        ipo2 = FakePackage('Foo', arch='i586')
+        self.rpmdb.addPackage(ipo2)
+        
+        xpo = FakePackage('abcd', version='2', arch='i586')
+        xpo.addRequires('Foo', 'GE', ('0', '2', '1'))
+        self.tsInfo.addUpdate(xpo, oldpo=ipo1)
+
+        po1 = FakePackage('Foo', arch='i586')
+        self.xsack.addPackage(po1)
+        po2 = FakePackage('Foo', version='2', arch='i686')
+        self.xsack.addPackage(po2)
+        po3 = FakePackage('Foo', version='2', arch='i586')
+        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))
+
+    def testMultiPkgVersions4(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')
+        self.xsack.addPackage(po2)
+        po3 = FakePackage('Foo', version='2', arch='i386')
+        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))



More information about the Yum-cvs-commits mailing list