From c44f8fa9bd062240bf2c4e2660d39e50b3c6a3df Mon Sep 17 00:00:00 2001 From: "James R. Barlow" Date: Sun, 29 Oct 2023 23:33:40 -0700 Subject: [PATCH] Add a simple test --- .github/workflows/test.yml | 83 +++++++++++++++++++++++++++++++++++ ocrmypdf_easyocr/__init__.py | 2 +- pyproject.toml | 3 ++ tests/conftest.py | 24 ++++++++++ tests/resources/jbig2.pdf | Bin 0 -> 42818 bytes tests/test_basic.py | 16 +++++++ 6 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/test.yml create mode 100644 tests/conftest.py create mode 100644 tests/resources/jbig2.pdf create mode 100644 tests/test_basic.py diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..d60525c --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,83 @@ +name: Test EasyOCR + +on: + push: + branches: + - main + - ci + - release/* + - feature/* + tags: + - v* + paths-ignore: + - README* + pull_request: + +jobs: + test_linux: + name: Test ${{ matrix.os }} with Python ${{ matrix.python }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + include: + - os: ubuntu-latest + python: "3.11" + tesseract5: true + - os: ubuntu-latest + python: "3.12" + tesseract5: true + env: + OS: ${{ matrix.os }} + PYTHON: ${{ matrix.python }} + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: "0" # 0=all, needed for setuptools-scm to resolve version tags + + - uses: actions/setup-python@v4 + name: Setup Python + with: + python-version: ${{ matrix.python }} + cache: "pip" + + - name: Install Tesseract 5 + if: matrix.tesseract5 + run: | + sudo add-apt-repository -y ppa:alex-p/tesseract-ocr-devel + + - name: Install common packages + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends \ + curl \ + ghostscript \ + img2pdf \ + libexempi8 \ + libffi-dev \ + libsm6 libxext6 libxrender-dev \ + pngquant \ + poppler-utils \ + tesseract-ocr \ + tesseract-ocr-deu \ + tesseract-ocr-eng \ + tesseract-ocr-osd \ + unpaper \ + zlib1g + + - name: Install Python packages + run: | + python -m pip install --upgrade pip wheel + python -m pip install --prefer-binary .[test] + + - name: Report versions + run: | + tesseract --version + gs --version + pngquant --version + unpaper --version + img2pdf --version + + - name: Test + run: | + python -m pytest tests/ diff --git a/ocrmypdf_easyocr/__init__.py b/ocrmypdf_easyocr/__init__.py index fb83b73..ab1d6b2 100644 --- a/ocrmypdf_easyocr/__init__.py +++ b/ocrmypdf_easyocr/__init__.py @@ -104,7 +104,7 @@ def add_options(parser): class EasyOCREngine(OcrEngine): - """Implements OCR with Tesseract.""" + """Implements OCR with EasyOCR.""" @staticmethod def version(): diff --git a/pyproject.toml b/pyproject.toml index 903a6a8..2b29d7a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,6 +21,9 @@ ocrmypdf = "ocrmypdf_easyocr" [project.optional-dependencies] dev = ["ruff>=0.0.272"] +test = [ + "pytest>=6.2.5", +] [build-system] requires = ["setuptools"] diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 0000000..f829efb --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,24 @@ +# SPDX-FileCopyrightText: 2023 James R. Barlow +# SPDX-License-Identifier: MIT + +from pathlib import Path + +import pytest + +TESTS_ROOT = Path(__file__).parent.resolve() +PROJECT_ROOT = TESTS_ROOT + + +@pytest.fixture(scope="session") +def resources() -> Path: + return Path(TESTS_ROOT) / "resources" + + +@pytest.fixture(scope="function") +def outdir(tmp_path) -> Path: + return tmp_path + + +@pytest.fixture(scope="function") +def outpdf(tmp_path) -> Path: + return tmp_path / "out.pdf" diff --git a/tests/resources/jbig2.pdf b/tests/resources/jbig2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d1a62d4a090e3c160ffb2a0a3d65851a55adbb52 GIT binary patch literal 42818 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 GVo0Ya_ANVR7cbUIS$fTo*>ZQ8B#J1p9%~X&&|l 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

eK`dS2rA$ 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 FKLGJ{VW