ignore optional deps for rpm < 4.12

This commit is contained in:
Tomas Kopecek 2016-10-06 14:08:01 +02:00 committed by Mike McLean
parent 1e103eb94d
commit 78d34d7b9d
2 changed files with 55 additions and 23 deletions

View file

@ -15,27 +15,46 @@ class TestGetRPMDeps(unittest.TestCase):
pi.rpm.return_value = 'test-deps-1-1.fc24.x86_64.rpm'
getRPMDeps = kojihub.RootExports().getRPMDeps
res = getRPMDeps('')
self.assertEqual(len(res), 22)
types = set([x['type'] for x in res])
self.assertEqual(set([koji.DEP_REQUIRE,
koji.DEP_PROVIDE,
koji.DEP_OBSOLETE,
koji.DEP_CONFLICT,
koji.DEP_SUGGEST,
koji.DEP_ENHANCE,
koji.DEP_SUPPLEMENT,
koji.DEP_RECOMMEND,
]), types)
# limit test for rpm < 4.12
if koji.RPM_SUPPORTS_OPTIONAL_DEPS:
self.assertEqual(len(res), 22)
types = set([x['type'] for x in res])
self.assertEqual(set([koji.DEP_REQUIRE,
koji.DEP_PROVIDE,
koji.DEP_OBSOLETE,
koji.DEP_CONFLICT,
koji.DEP_SUGGEST,
koji.DEP_ENHANCE,
koji.DEP_SUPPLEMENT,
koji.DEP_RECOMMEND,
]), types)
# test correct mapping of names
result = {}
for r in res:
result.setdefault(r['type'], set()).add(r['name'])
self.assertIn('require1', result[koji.DEP_REQUIRE])
self.assertIn('provide1', result[koji.DEP_PROVIDE])
self.assertIn('obsoletes1', result[koji.DEP_OBSOLETE])
self.assertIn('conflicts1', result[koji.DEP_CONFLICT])
self.assertIn('suggests1', result[koji.DEP_SUGGEST])
self.assertIn('enhances1', result[koji.DEP_ENHANCE])
self.assertIn('supplements1', result[koji.DEP_SUPPLEMENT])
self.assertIn('recommends1', result[koji.DEP_RECOMMEND])
# test correct mapping of names
result = {}
for r in res:
result.setdefault(r['type'], set()).add(r['name'])
self.assertTrue('require1' in result[koji.DEP_REQUIRE])
self.assertTrue('provide1' in result[koji.DEP_PROVIDE])
self.assertTrue('obsoletes1' in result[koji.DEP_OBSOLETE])
self.assertTrue('conflicts1' in result[koji.DEP_CONFLICT])
self.assertTrue('suggests1' in result[koji.DEP_SUGGEST])
self.assertTrue('enhances1' in result[koji.DEP_ENHANCE])
self.assertTrue('supplements1' in result[koji.DEP_SUPPLEMENT])
self.assertTrue('recommends1' in result[koji.DEP_RECOMMEND])
else:
self.assertEqual(len(res), 14)
types = set([x['type'] for x in res])
self.assertEqual(set([koji.DEP_REQUIRE,
koji.DEP_PROVIDE,
koji.DEP_OBSOLETE,
koji.DEP_CONFLICT,
]), types)
# test correct mapping of names
result = {}
for r in res:
result.setdefault(r['type'], set()).add(r['name'])
self.assertTrue('require1' in result[koji.DEP_REQUIRE])
self.assertTrue('provide1' in result[koji.DEP_PROVIDE])
self.assertTrue('obsoletes1' in result[koji.DEP_OBSOLETE])
self.assertTrue('conflicts1' in result[koji.DEP_CONFLICT])