in dcrpm/rpmutil.py [0:0]
def verify_tables(self):
# type: () -> None
"""
Runs `db_verify` on all rpmdb tables.
"""
for table in self.tables:
if os.path.basename(table) in self.blacklist:
self.logger.warning("Skipping table '%s', blacklisted", table)
continue
try:
result = run_with_timeout(
[self.verify_path, os.path.join(self.dbpath, table)],
VERIFY_TIMEOUT_SEC,
raise_on_nonzero=False,
)
except DcRPMException:
self.status_logger.warning("initial_table_verify_fail")
raise
# This raises a DcRPMException because it gets handled specially in
# the main run loop.
if result.returncode != 0:
self.logger.error("db_verify returned nonzero status")
raise DcRPMException()