pkgset: report all unsigned packages
Fixes: #552 Merges: #567 Signed-off-by: Qixiang Wan <qwan@redhat.com>
This commit is contained in:
parent
ee21663c8b
commit
d081a4eda8
@ -48,6 +48,8 @@ class ReaderThread(WorkerThread):
|
|||||||
% (num, self.pool.queue_total))
|
% (num, self.pool.queue_total))
|
||||||
|
|
||||||
rpm_path = self.pool.package_set.get_package_path(item)
|
rpm_path = self.pool.package_set.get_package_path(item)
|
||||||
|
if rpm_path is None:
|
||||||
|
return
|
||||||
rpm_obj = self.pool.package_set.file_cache.add(rpm_path)
|
rpm_obj = self.pool.package_set.file_cache.add(rpm_path)
|
||||||
self.pool.package_set.rpms_by_arch.setdefault(rpm_obj.arch, []).append(rpm_obj)
|
self.pool.package_set.rpms_by_arch.setdefault(rpm_obj.arch, []).append(rpm_obj)
|
||||||
|
|
||||||
@ -72,6 +74,8 @@ class PackageSetBase(kobo.log.LoggingBase):
|
|||||||
self.arches = arches
|
self.arches = arches
|
||||||
self.rpms_by_arch = {}
|
self.rpms_by_arch = {}
|
||||||
self.srpms_by_name = {}
|
self.srpms_by_name = {}
|
||||||
|
# RPMs not found for specified sigkeys
|
||||||
|
self._invalid_sigkey_rpms = []
|
||||||
|
|
||||||
def __getitem__(self, name):
|
def __getitem__(self, name):
|
||||||
return self.file_cache[name]
|
return self.file_cache[name]
|
||||||
@ -119,6 +123,12 @@ class PackageSetBase(kobo.log.LoggingBase):
|
|||||||
rpm_pool.stop()
|
rpm_pool.stop()
|
||||||
self.log_debug("Package set: worker threads stopped (RPMs)")
|
self.log_debug("Package set: worker threads stopped (RPMs)")
|
||||||
|
|
||||||
|
if self._invalid_sigkey_rpms:
|
||||||
|
raise RuntimeError(
|
||||||
|
"RPM(s) not found for sigs: %s. Check log for details. Unsigned packages:\n%s" % (
|
||||||
|
self.sigkey_ordering,
|
||||||
|
'\n'.join([rpminfo['name'] for rpminfo in self._invalid_sigkey_rpms])))
|
||||||
|
|
||||||
return self.rpms_by_arch
|
return self.rpms_by_arch
|
||||||
|
|
||||||
def merge(self, other, primary_arch, arch_list):
|
def merge(self, other, primary_arch, arch_list):
|
||||||
@ -247,8 +257,10 @@ class KojiPackageSet(PackageSetBase):
|
|||||||
if os.path.isfile(rpm_path):
|
if os.path.isfile(rpm_path):
|
||||||
return rpm_path
|
return rpm_path
|
||||||
|
|
||||||
raise RuntimeError("RPM %s not found for sigs: %s. Paths checked: %s"
|
self._invalid_sigkey_rpms.append(rpm_info)
|
||||||
% (rpm_info, self.sigkey_ordering, paths))
|
self.log_error("RPM %s not found for sigs: %s. Paths checked: %s"
|
||||||
|
% (rpm_info, self.sigkey_ordering, paths))
|
||||||
|
return None
|
||||||
|
|
||||||
def populate(self, tag, event=None, inherit=True):
|
def populate(self, tag, event=None, inherit=True):
|
||||||
result_rpms = []
|
result_rpms = []
|
||||||
|
@ -248,7 +248,7 @@ class TestKojiPkgset(PkgsetCompareMixin, helpers.PungiTestCase):
|
|||||||
[mock.call.listTaggedRPMS('f25', event=None, inherit=True, latest=True)])
|
[mock.call.listTaggedRPMS('f25', event=None, inherit=True, latest=True)])
|
||||||
|
|
||||||
self.assertRegexpMatches(str(ctx.exception),
|
self.assertRegexpMatches(str(ctx.exception),
|
||||||
r'^RPM .+ not found for sigs: .+ Paths checked: .+$')
|
r'^RPM\(s\) not found for sigs: .+Check log for details.+')
|
||||||
|
|
||||||
def test_can_not_find_any_package(self):
|
def test_can_not_find_any_package(self):
|
||||||
pkgset = pkgsets.KojiPackageSet(self.koji_wrapper, ['cafebabe', None], arches=['x86_64'])
|
pkgset = pkgsets.KojiPackageSet(self.koji_wrapper, ['cafebabe', None], arches=['x86_64'])
|
||||||
@ -261,7 +261,7 @@ class TestKojiPkgset(PkgsetCompareMixin, helpers.PungiTestCase):
|
|||||||
[mock.call.listTaggedRPMS('f25', event=None, inherit=True, latest=True)])
|
[mock.call.listTaggedRPMS('f25', event=None, inherit=True, latest=True)])
|
||||||
|
|
||||||
self.assertRegexpMatches(str(ctx.exception),
|
self.assertRegexpMatches(str(ctx.exception),
|
||||||
r'^RPM .+ not found for sigs: .+ Paths checked: .+$')
|
r'^RPM\(s\) not found for sigs: .+Check log for details.+')
|
||||||
|
|
||||||
|
|
||||||
@mock.patch('kobo.pkgset.FileCache', new=MockFileCache)
|
@mock.patch('kobo.pkgset.FileCache', new=MockFileCache)
|
||||||
|
Loading…
Reference in New Issue
Block a user