Fix missing jbig2enc reported as error with -O3 instead of warning

Fixes #558
This commit is contained in:
James R. Barlow
2020-05-12 01:05:57 -07:00
parent 59440448ee
commit 2541f6cf89
2 changed files with 25 additions and 4 deletions

View File

@@ -233,10 +233,10 @@ def _error_trailer(program, package, **kwargs):
def _error_missing_program(program, package, required_for, recommended):
if required_for:
if recommended:
log.warning(missing_recommend_program.format(**locals()))
elif required_for:
log.error(missing_optional_program.format(**locals()))
elif recommended:
log.info(missing_recommend_program.format(**locals()))
else:
log.error(missing_program.format(**locals()))
_error_trailer(**locals())
@@ -279,7 +279,7 @@ def check_external_program(
found_version = remove_leading_v(found_version)
need_version = remove_leading_v(need_version)
if LooseVersion(found_version) < LooseVersion(need_version):
if found_version and LooseVersion(found_version) < LooseVersion(need_version):
_error_old_version(program, package, need_version, found_version, required_for)
if not recommended:
raise MissingDependencyError()

View File

@@ -210,3 +210,24 @@ def test_version_comparison():
version_checker=lambda: '1.0',
need_version='2.0',
)
def test_optional_program_recommended(caplog):
caplog.clear()
def raiser():
raise FileNotFoundError('jbig2')
with caplog.at_level(logging.WARNING):
vd.check_external_program(
program="jbig2",
package="jbig2enc",
version_checker=raiser,
need_version='42',
required_for='this test case',
recommended=True,
)
assert any(
(loglevel == logging.WARNING and "recommended" in msg)
for _logger_name, loglevel, msg in caplog.record_tuples
)