tests/functional: drop 'tesseract_available' helper

Platforms we target have new enough tesseract that it suffices to merely
check if the binary exists.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20241217155953.3950506-7-berrange@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
Daniel P. Berrangé 2024-12-17 15:59:27 +00:00 committed by Thomas Huth
parent dd6dfc012c
commit c54edc7109
2 changed files with 4 additions and 16 deletions

View file

@ -7,17 +7,7 @@
import logging import logging
from . import has_cmd, run_cmd from . import run_cmd
def tesseract_available(expected_version):
(has_tesseract, _) = has_cmd('tesseract')
if not has_tesseract:
return False
(stdout, stderr, ret) = run_cmd([ 'tesseract', '--version'])
if ret:
return False
version = stdout.split()[1]
return int(version.split('.')[0]) >= expected_version
def tesseract_ocr(image_path, tesseract_args=''): def tesseract_ocr(image_path, tesseract_args=''):
console_logger = logging.getLogger('console') console_logger = logging.getLogger('console')

View file

@ -13,7 +13,8 @@ import time
from qemu_test import QemuSystemTest, Asset from qemu_test import QemuSystemTest, Asset
from unittest import skipUnless from unittest import skipUnless
from qemu_test.tesseract import tesseract_available, tesseract_ocr from qemu_test import has_cmd
from qemu_test.tesseract import tesseract_ocr
PIL_AVAILABLE = True PIL_AVAILABLE = True
try: try:
@ -53,10 +54,7 @@ class NextCubeMachine(QemuSystemTest):
self.assertEqual(width, 1120) self.assertEqual(width, 1120)
self.assertEqual(height, 832) self.assertEqual(height, 832)
# Tesseract 4 adds a new OCR engine based on LSTM neural networks. The @skipUnless(*has_cmd('tesseract'))
# new version is faster and more accurate than version 3. The drawback is
# that it is still alpha-level software.
@skipUnless(tesseract_available(4), 'tesseract OCR tool not available')
def test_bootrom_framebuffer_ocr_with_tesseract(self): def test_bootrom_framebuffer_ocr_with_tesseract(self):
self.set_machine('next-cube') self.set_machine('next-cube')
screenshot_path = os.path.join(self.workdir, "dump.ppm") screenshot_path = os.path.join(self.workdir, "dump.ppm")