mirror of
https://github.com/qurator-spk/eynollah.git
synced 2025-06-09 12:19:54 +02:00
pytest: use subtests for various layout options, add coverage
This commit is contained in:
parent
91a340f619
commit
b03116f4a6
8 changed files with 48 additions and 82 deletions
|
@ -1,24 +1,39 @@
|
|||
from os import environ
|
||||
from pathlib import Path
|
||||
from ocrd_utils import pushd_popd
|
||||
from tests.base import CapturingTestCase as TestCase, main
|
||||
from eynollah.cli import layout as eynollah_cli
|
||||
from click.testing import CliRunner
|
||||
|
||||
testdir = Path(__file__).parent.resolve()
|
||||
|
||||
EYNOLLAH_MODELS = environ.get('EYNOLLAH_MODELS', str(testdir.joinpath('..', 'models_eynollah').resolve()))
|
||||
|
||||
class TestEynollahRun(TestCase):
|
||||
|
||||
def test_full_run(self):
|
||||
with pushd_popd(tempdir=True) as tempdir:
|
||||
code, out, err = self.invoke_cli(eynollah_cli, [
|
||||
'-m', EYNOLLAH_MODELS,
|
||||
'-i', str(testdir.joinpath('resources/kant_aufklaerung_1784_0020.tif')),
|
||||
'-o', tempdir
|
||||
])
|
||||
print(code, out, err)
|
||||
assert not code
|
||||
|
||||
if __name__ == '__main__':
|
||||
main(__file__)
|
||||
def test_full_run(tmpdir, subtests, pytestconfig):
|
||||
args = [
|
||||
'-m', EYNOLLAH_MODELS,
|
||||
'-i', str(testdir.joinpath('resources/kant_aufklaerung_1784_0020.tif')),
|
||||
'-o', tmpdir,
|
||||
# subtests write to same location
|
||||
'--overwrite',
|
||||
]
|
||||
if pytestconfig.getoption('verbose') > 0:
|
||||
args.extend(['-l', 'DEBUG'])
|
||||
runner = CliRunner()
|
||||
for options in [
|
||||
[], # defaults
|
||||
["--allow_scaling", "--curved-line"],
|
||||
["--allow_scaling", "--curved-line", "--full-layout"],
|
||||
["--allow_scaling", "--curved-line", "--full-layout", "--reading_order_machine_based"],
|
||||
["--allow_scaling", "--curved-line", "--full-layout", "--reading_order_machine_based",
|
||||
"--textline_light", "--light_version"],
|
||||
# -ep ...
|
||||
# -eoi ...
|
||||
# --do_ocr
|
||||
# --skip_layout_and_reading_order
|
||||
]:
|
||||
with subtests.test(#msg="test CLI",
|
||||
options=options):
|
||||
result = runner.invoke(eynollah_cli, args + options)
|
||||
print(result)
|
||||
print(result.output)
|
||||
assert result.exit_code == 0
|
||||
assert 'kant_aufklaerung_1784_0020.tif' in result.output
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue