def test_version_comparison(): vd.check_external_program( program="dummy_basic", package="dummy", version_checker=lambda: '9.0', need_version='8.0.2', ) vd.check_external_program( program="dummy_doubledigit", package="dummy", version_checker=lambda: '10.0', need_version='8.0.2', ) with pytest.raises(MissingDependencyError): vd.check_external_program( program="tesseract", package="tesseract", version_checker=lambda: '4.0.0-beta.1', need_version='4.0.0', version_parser=TesseractVersion, ) vd.check_external_program( program="tesseract", package="tesseract", version_checker=lambda: 'v5.0.0-alpha.20200201', need_version='4.0.0', version_parser=TesseractVersion, ) with pytest.raises(MissingDependencyError): vd.check_external_program( program="dummy_fails", package="dummy", 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)
def test_version_comparison(): vd.check_external_program( program="dummy_basic", package="dummy", version_checker=lambda: '9.0', need_version='8.0.2', ) vd.check_external_program( program="dummy_doubledigit", package="dummy", version_checker=lambda: '10.0', need_version='8.0.2', ) with pytest.raises(MissingDependencyError): vd.check_external_program( program="tesseract", package="tesseract", version_checker=lambda: '4.0.0-beta.1', need_version='4.0.0', version_parser=TesseractVersion, ) vd.check_external_program( program="tesseract", package="tesseract", version_checker=lambda: 'v5.0.0-alpha.20200201', need_version='4.0.0', version_parser=TesseractVersion, ) vd.check_external_program( program="tesseract", package="tesseract", version_checker=lambda: '5.0.0-rc1.20211030', need_version='4.0.0', version_parser=TesseractVersion, ) vd.check_external_program( program="tesseract", package="tesseract", version_checker=lambda: 'v4.0.0.20181030', # Some Windows builds use this format need_version='4.0.0', version_parser=TesseractVersion, ) vd.check_external_program( program="tesseract", package="tesseract", version_checker=lambda: '4.1.1-rc2-25-g9707', need_version='4.0.0', version_parser=TesseractVersion, ) with pytest.raises(MissingDependencyError): vd.check_external_program( program="dummy_fails", package="dummy", version_checker=lambda: '1.0', need_version='2.0', )