From 6f755321b8e2b8d099fce1be5e60e8ce707e8270 Mon Sep 17 00:00:00 2001 From: "James R. Barlow" Date: Sun, 27 Oct 2024 13:06:30 -0700 Subject: [PATCH] Ignore unpaper warning message when checking version Fixes #1409 --- src/ocrmypdf/_exec/unpaper.py | 2 +- tests/test_unpaper.py | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/ocrmypdf/_exec/unpaper.py b/src/ocrmypdf/_exec/unpaper.py index d1165c46..9c9c21ab 100644 --- a/src/ocrmypdf/_exec/unpaper.py +++ b/src/ocrmypdf/_exec/unpaper.py @@ -48,7 +48,7 @@ class UnpaperImageTooLargeError(Exception): def version() -> Version: - return Version(get_version('unpaper')) + return Version(get_version('unpaper', regex=r'(?m).*(\d+(\.\d+)(\.\d+)?)')) @contextmanager diff --git a/tests/test_unpaper.py b/tests/test_unpaper.py index b6dfc256..952cc33a 100644 --- a/tests/test_unpaper.py +++ b/tests/test_unpaper.py @@ -5,7 +5,7 @@ from __future__ import annotations import logging from os import fspath -from unittest.mock import patch +from unittest.mock import Mock, patch import pytest from packaging.version import Version @@ -48,6 +48,19 @@ def test_old_unpaper(resources, no_outpdf): mock.assert_called() +def test_unpaper_version_chatter(resources, no_outpdf): + input_ = fspath(resources / "c02-22.pdf") + output = fspath(no_outpdf) + + _parser, options, pm = get_parser_options_plugins(["--clean", input_, output]) + with patch("ocrmypdf.subprocess.run") as mock: + mock.return_value = Mock(stdout='Warning: using insecure memory!\n7.0.0\n') + + with pytest.raises(MissingDependencyError): + check_options(options, pm) + mock.assert_called() + + @needs_unpaper def test_clean(resources, outpdf): check_ocrmypdf(