[yum-cvs] 2 commits - test/skipbroken-tests.py
Tim Lauridsen
timlau at linux.duke.edu
Thu Jan 10 09:06:17 UTC 2008
test/skipbroken-tests.py | 106 ++++++++++++++++++++++++++---------------------
1 file changed, 59 insertions(+), 47 deletions(-)
New commits:
commit b45dc3483ad06c7dc650084e0c7adfcfbd92b000
Author: Tim Lauridsen <tla at rasmil.dk>
Date: Thu Jan 10 10:02:02 2008 +0100
creating just another testcase to skipbroken testing (failing at the moment)
diff --git a/test/skipbroken-tests.py b/test/skipbroken-tests.py
index ca9c44c..b1ddd40 100644
--- a/test/skipbroken-tests.py
+++ b/test/skipbroken-tests.py
@@ -269,6 +269,18 @@ class SkipBrokenTests(DepsolveTests):
self.assertEquals('ok', *self.resolveCode(skip=True))
self.assertResult([po3,po4])
+ def testProvidesAndDepsGetRemoved(self):
+ po1 = self.repoPackage('Spaceman')
+ po1.addProvides('money')
+ po2 = self.repoPackage('GutlessGibbon')
+ po2.addRequires('money')
+ po2.addRequires('nice')
+ po2.addRequires('features')
+ self.tsInfo.addInstall(po2)
+ self.assertEquals('empty', *self.resolveCode(skip=True))
+
+
+
def resolveCode(self,skip = False):
solver = YumBase()
commit f29fddfeba059aed51f7896bf712a7e74ea6c59d
Author: Tim Lauridsen <tla at rasmil.dk>
Date: Thu Jan 10 09:58:55 2008 +0100
removed _create prefix on packages for the lasy typer
diff --git a/test/skipbroken-tests.py b/test/skipbroken-tests.py
index e4b1373..ca9c44c 100644
--- a/test/skipbroken-tests.py
+++ b/test/skipbroken-tests.py
@@ -11,12 +11,12 @@ class SkipBrokenTests(DepsolveTests):
self.xrepo = FakeRepo("TestRepository",self.xsack)
setup_logging()
- def _createRepoPackage(self, name, version='1', release='0', epoch='0', arch='noarch'):
+ def repoPackage(self, name, version='1', release='0', epoch='0', arch='noarch'):
po = FakePackage(name, version, release, epoch, arch, repo=self.xrepo)
self.xsack.addPackage(po)
return po
- def _createInstPackage(self, name, version='1', release='0', epoch='0', arch='noarch'):
+ def instPackage(self, name, version='1', release='0', epoch='0', arch='noarch'):
po = FakePackage(name, version, release, epoch, arch, repo=self.repo)
self.rpmdb.addPackage(po)
return po
@@ -24,11 +24,11 @@ class SkipBrokenTests(DepsolveTests):
def testMissingReqNoSkip(self):
''' install fails, because of missing req.
bar fails because foobar is not provided '''
- po = self._createRepoPackage('foo', '1')
+ po = self.repoPackage('foo', '1')
po.addRequires('bar', None, (None,None,None))
self.tsInfo.addInstall(po)
- xpo = self._createRepoPackage('bar', '1')
+ xpo = self.repoPackage('bar', '1')
xpo.addRequires('foobar', None, (None,None,None))
self.assertEquals('err', *self.resolveCode(skip=False))
@@ -37,11 +37,11 @@ class SkipBrokenTests(DepsolveTests):
def testMissingReqSkip(self):
''' install is skipped, because of missing req.
foo + bar is skipped, because foobar is not provided '''
- po = self._createRepoPackage('foo', '1')
+ po = self.repoPackage('foo', '1')
po.addRequires('bar', None, (None,None,None))
self.tsInfo.addInstall(po)
- xpo = self._createRepoPackage('bar', '1')
+ xpo = self.repoPackage('bar', '1')
xpo.addRequires('foobar', None, (None,None,None))
self.assertEquals('empty', *self.resolveCode(skip=True))
@@ -52,14 +52,14 @@ class SkipBrokenTests(DepsolveTests):
foo + foobar is skipped because barfoo is not provided
bar stays in the transaction
'''
- po1 = self._createRepoPackage('foo', '1')
+ po1 = self.repoPackage('foo', '1')
po1.addRequires('foobar', None, (None,None,None))
self.tsInfo.addInstall(po1)
- po2 = self._createRepoPackage('bar', '1')
+ po2 = self.repoPackage('bar', '1')
self.tsInfo.addInstall(po2)
- xpo1 = self._createRepoPackage('foobar', '1')
+ xpo1 = self.repoPackage('foobar', '1')
xpo1.addRequires('barfoo', None, (None,None,None))
self.assertEquals('ok', *self.resolveCode(skip=True))
@@ -72,10 +72,10 @@ class SkipBrokenTests(DepsolveTests):
'''
# FIXME: The right solution is to skip the update from the transaction
- po1 = self._createInstPackage('foo', '1')
- po2 = self._createRepoPackage('foo', '2')
+ po1 = self.instPackage('foo', '1')
+ po2 = self.repoPackage('foo', '2')
- ipo = self._createInstPackage('foo-tools', '2.5')
+ ipo = self.instPackage('foo-tools', '2.5')
ipo.addRequires('foo', 'EQ', ('0', '1', '0'))
self.tsInfo.addUpdate(po2, oldpo=po1)
@@ -88,12 +88,12 @@ class SkipBrokenTests(DepsolveTests):
The foo-1.0 -> foo-2.0 update fails, because foo-tools-2.0 need by foo-2.0
is not provided, the update should be skipped and result in a empty transaction
'''
- po1 = self._createInstPackage('foo', '1')
+ po1 = self.instPackage('foo', '1')
po1.addRequires('foo-tools', 'EQ', ('0', '1', '0'))
- po2 = self._createRepoPackage('foo', '2')
+ po2 = self.repoPackage('foo', '2')
po2.addRequires('foo-tools', 'EQ', ('0', '2', '0'))
- ipo = self._createInstPackage('foo-tools', '1')
+ ipo = self.instPackage('foo-tools', '1')
self.tsInfo.addUpdate(po2, oldpo=po1)
@@ -107,13 +107,13 @@ class SkipBrokenTests(DepsolveTests):
foo-2.0 update get skip, and the foo-gui install will get skipped too, because it need foo-2.0
there is not longer provided.
'''
- po1 = self._createInstPackage('foo', '1')
+ po1 = self.instPackage('foo', '1')
po1.addRequires('foo-tools', 'EQ', ('0', '1', '0'))
- po2 = self._createRepoPackage('foo', '2')
+ po2 = self.repoPackage('foo', '2')
po2.addRequires('foo-tools', 'EQ', ('0', '2', '0'))
- ipo = self._createInstPackage('foo-tools', '1')
- por = self._createRepoPackage('foo-gui', '1')
+ ipo = self.instPackage('foo-tools', '1')
+ por = self.repoPackage('foo-gui', '1')
por.addRequires('foo', 'EQ', ('0', '2', '0'))
self.tsInfo.addUpdate(po2, oldpo=po1)
@@ -127,8 +127,8 @@ class SkipBrokenTests(DepsolveTests):
foo is removed, and foo-tools get removed too, because it
depends on foo
'''
- ipo = self._createInstPackage('foo', '1')
- ipo2 = self._createInstPackage('foo-tools', '1')
+ ipo = self.instPackage('foo', '1')
+ ipo2 = self.instPackage('foo-tools', '1')
ipo2.addRequires('foo', 'EQ', ('0', '1', '0'))
self.tsInfo.addErase(ipo)
@@ -139,11 +139,11 @@ class SkipBrokenTests(DepsolveTests):
''' update fails, because a req is erased.
Update foo-tools-1.0 -> foo-tools-2.0, should fail because the require foo is removed
'''
- ipo = self._createInstPackage('foo', '1')
- ipo2 = self._createInstPackage('foo-tools', '1')
+ ipo = self.instPackage('foo', '1')
+ ipo2 = self.instPackage('foo-tools', '1')
ipo2.addRequires('foo', 'EQ', ('0', '1', '0'))
- upo2 = self._createRepoPackage('foo-tools', '2')
+ upo2 = self.repoPackage('foo-tools', '2')
upo2.addRequires('foo', 'EQ', ('0', '1', '0'))
self.tsInfo.addErase(ipo)
@@ -156,11 +156,11 @@ class SkipBrokenTests(DepsolveTests):
Update foo-tools-1.0 -> foo-tools-2.0, should fail because the require foo is removed
the update is skipped and foo-tools-1.0 is removed too, because it requires foo.
'''
- ipo = self._createInstPackage('foo', '1')
- ipo2 = self._createInstPackage('foo-tools', '1')
+ ipo = self.instPackage('foo', '1')
+ ipo2 = self.instPackage('foo-tools', '1')
ipo2.addRequires('foo', 'EQ', ('0', '1', '0'))
- upo2 = self._createRepoPackage('foo-tools', '2')
+ upo2 = self.repoPackage('foo-tools', '2')
upo2.addRequires('foo', 'EQ', ('0', '1', '0'))
self.tsInfo.addUpdate(upo2, oldpo=ipo2)
@@ -174,11 +174,11 @@ class SkipBrokenTests(DepsolveTests):
foo 1.0 -> 2.0 update fails, because foo-2.0 conflict with bar-1.0
the update get skipped and the transaction is now empty
'''
- po1 = self._createInstPackage('foo', '1')
- po2 = self._createRepoPackage('foo', '2')
+ po1 = self.instPackage('foo', '1')
+ po2 = self.repoPackage('foo', '2')
po2.addConflicts('bar', 'EQ', ('0', '1', '0'))
- ipo = self._createInstPackage('bar', '1')
+ ipo = self.instPackage('bar', '1')
self.tsInfo.addUpdate(po2, oldpo=po1)
@@ -191,14 +191,14 @@ class SkipBrokenTests(DepsolveTests):
bar-1.0 is update to bar-2.0, to solve the conflict but bar-2.0 need foo-1.0
so the foo & bar updates get skipped and the transaction is empty
'''
- po1 = self._createInstPackage('foo', '1')
- po2 = self._createRepoPackage('foo', '2')
+ po1 = self.instPackage('foo', '1')
+ po2 = self.repoPackage('foo', '2')
po2.addConflicts('bar', 'EQ', ('0', '1', '0'))
- ipo = self._createInstPackage('bar', '1')
+ ipo = self.instPackage('bar', '1')
- xpo = self._createRepoPackage('bar', '2')
+ xpo = self.repoPackage('bar', '2')
xpo.addRequires('foo', 'EQ', ('0', '1', '0'))
self.tsInfo.addUpdate(po2, oldpo=po1)
@@ -213,14 +213,14 @@ class SkipBrokenTests(DepsolveTests):
there is not provided
So the foo & bar updates get skipped and the transaction is empty
'''
- po1 = self._createInstPackage('foo', '1')
- po2 = self._createRepoPackage('foo', '2')
+ po1 = self.instPackage('foo', '1')
+ po2 = self.repoPackage('foo', '2')
po2.addConflicts('bar', 'EQ', ('0', '1', '0'))
- ipo = self._createInstPackage('bar', '1')
+ ipo = self.instPackage('bar', '1')
- xpo = self._createRepoPackage('bar', '2')
+ xpo = self.repoPackage('bar', '2')
xpo.addRequires('poo', 'EQ', ('0', '1', '0'))
self.tsInfo.addUpdate(po2, oldpo=po1)
@@ -229,11 +229,11 @@ class SkipBrokenTests(DepsolveTests):
self.assertResult([po1,ipo])
def testAlternativePackageAvailable(self):
- ipo = self._createRepoPackage('foo')
+ ipo = self.repoPackage('foo')
ipo.addRequires('bar')
- provides1 = self._createRepoPackage('bar')
+ provides1 = self.repoPackage('bar')
provides1.addRequires('baz')
- provides2 = self._createRepoPackage('bar-ng')
+ provides2 = self.repoPackage('bar-ng')
provides2.addProvides('bar')
#provides2.addRequires('baz')
@@ -243,11 +243,11 @@ class SkipBrokenTests(DepsolveTests):
self.assertResult([])
def testOnlyOneRequirementAvailable(self):
- ipo = self._createRepoPackage('foo')
+ ipo = self.repoPackage('foo')
ipo.addRequires('bar')
ipo.addRequires('baz')
- ppo = self._createRepoPackage('baz')
+ ppo = self.repoPackage('baz')
self.tsInfo.addInstall(ipo)
@@ -255,14 +255,14 @@ class SkipBrokenTests(DepsolveTests):
self.assertResult([])
def test2PkgReqSameDep(self):
- po1 = self._createRepoPackage('foo')
+ po1 = self.repoPackage('foo')
po1.addRequires('bar')
po1.addRequires('foobar')
- po2 = self._createRepoPackage('bar')
+ po2 = self.repoPackage('bar')
po2.addRequires('zzzz')
- po3 = self._createRepoPackage('barfoo')
+ po3 = self.repoPackage('barfoo')
po3.addRequires('foobar')
- po4 = self._createRepoPackage('foobar')
+ po4 = self.repoPackage('foobar')
self.tsInfo.addInstall(po1)
self.tsInfo.addInstall(po3)
More information about the Yum-cvs-commits
mailing list