support/testing: add new test for python-pymupdf
To give us a chance to catch runtime issues (such as missing dependencies) more easily, add a test that writes a sample PDF file, read it back and verify the text that was read. Like similar packages that lead to a big rootfs (e.g. python-botocore), this test requires a separate ext2 rootfs to avoid filling the default amount of RAM available entirely (which would cause missing files from the root filesystem and in turn, test failures). Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> (cherry picked from commit 115e9493b8e3b50cd56b93c47d669319d02698a7) Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
e81d5d016f
commit
65b37af817
@ -2621,9 +2621,11 @@ F: package/python-pymupdf/
|
|||||||
F: package/python-rsa/
|
F: package/python-rsa/
|
||||||
F: package/python-s3transfer/
|
F: package/python-s3transfer/
|
||||||
F: support/testing/tests/package/sample_python_jmespath.py
|
F: support/testing/tests/package/sample_python_jmespath.py
|
||||||
|
F: support/testing/tests/package/sample_python_pymupdf.py
|
||||||
F: support/testing/tests/package/sample_python_rsa.py
|
F: support/testing/tests/package/sample_python_rsa.py
|
||||||
F: support/testing/tests/package/sample_python_s3transfer.py
|
F: support/testing/tests/package/sample_python_s3transfer.py
|
||||||
F: support/testing/tests/package/test_python_jmespath.py
|
F: support/testing/tests/package/test_python_jmespath.py
|
||||||
|
F: support/testing/tests/package/test_python_pymupdf.py
|
||||||
F: support/testing/tests/package/test_python_rsa.py
|
F: support/testing/tests/package/test_python_rsa.py
|
||||||
F: support/testing/tests/package/test_python_s3transfer.py
|
F: support/testing/tests/package/test_python_s3transfer.py
|
||||||
|
|
||||||
|
17
support/testing/tests/package/sample_python_pymupdf.py
Normal file
17
support/testing/tests/package/sample_python_pymupdf.py
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
import fitz
|
||||||
|
|
||||||
|
# Write a test PDF file
|
||||||
|
outfile = "python-pymupdf.pdf"
|
||||||
|
sample_text = "This is a test page for python-pymupdf."
|
||||||
|
doc = fitz.open()
|
||||||
|
page = doc.new_page()
|
||||||
|
p = fitz.Point(50, 72)
|
||||||
|
page.insert_text(p, sample_text)
|
||||||
|
doc.save(outfile)
|
||||||
|
|
||||||
|
# Read back the file
|
||||||
|
with fitz.open(outfile) as d: # open document
|
||||||
|
read_text = chr(12).join([page.get_text() for page in d])
|
||||||
|
|
||||||
|
print(read_text)
|
||||||
|
assert(read_text == sample_text + "\n")
|
23
support/testing/tests/package/test_python_pymupdf.py
Normal file
23
support/testing/tests/package/test_python_pymupdf.py
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import os
|
||||||
|
from tests.package.test_python import TestPythonPackageBase
|
||||||
|
|
||||||
|
|
||||||
|
class TestPythonPy3PyMuPDF(TestPythonPackageBase):
|
||||||
|
__test__ = True
|
||||||
|
config = TestPythonPackageBase.config + \
|
||||||
|
"""
|
||||||
|
BR2_PACKAGE_PYTHON3=y
|
||||||
|
BR2_PACKAGE_PYTHON_PYMUPDF=y
|
||||||
|
BR2_TARGET_ROOTFS_EXT2=y
|
||||||
|
BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
|
||||||
|
"""
|
||||||
|
sample_scripts = ["tests/package/sample_python_pymupdf.py"]
|
||||||
|
timeout = 30
|
||||||
|
|
||||||
|
def login(self):
|
||||||
|
ext2_file = os.path.join(self.builddir, "images", "rootfs.ext2")
|
||||||
|
self.emulator.boot(arch="armv5",
|
||||||
|
kernel="builtin",
|
||||||
|
options=["-drive", "file=%s,if=scsi,format=raw" % ext2_file],
|
||||||
|
kernel_cmdline=["rootwait", "root=/dev/sda"])
|
||||||
|
self.emulator.login()
|
Loading…
Reference in New Issue
Block a user