Skip to content

Investigate CI coverage test failures #256

@linusseelinger

Description

@linusseelinger

Description

#250 experienced unexpected CI failures in code coverage tests.

@xalelax 's introduced a fix in be2a06c

However, that fix should be unnecessary. Investigate if there's an underlying issue and, if possible, revert the fix above.

Steps to reproduce

See most recent CI failures in #250 .

Logs

Run if [ "base" == "base" ]; then
============================= test session starts ==============================
platform linux -- Python 3.12.11, pytest-8.4.1, pluggy-1.6.0
rootdir: /home/runner/work/tesseract-core/tesseract-core
configfile: pyproject.toml
plugins: typeguard-4.4.4, Faker-37.4.0, anyio-4.9.0, mock-3.14.1, cov-6.2.1
collected 61 items / 14 deselected / 47 selected

tests/endtoend_tests/test_docker_client.py .......                       [ 14%]
tests/endtoend_tests/test_endtoend.py ............................       [ 74%]
tests/endtoend_tests/test_tesseract_sdk.py ............
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "/home/runner/work/tesseract-core/tesseract-core/.venv/lib/python3.12/site-packages/_pytest/main.py", line 289, in wrap_session
INTERNALERROR>     session.exitstatus = doit(config, session) or 0
INTERNALERROR>                          ^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/home/runner/work/tesseract-core/tesseract-core/.venv/lib/python3.12/site-packages/_pytest/main.py", line 343, in _main
INTERNALERROR>     config.hook.pytest_runtestloop(session=session)
INTERNALERROR>   File "/home/runner/work/tesseract-core/tesseract-core/.venv/lib/python3.12/site-packages/pluggy/_hooks.py", line 512, in __call__
INTERNALERROR>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/home/runner/work/tesseract-core/tesseract-core/.venv/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/home/runner/work/tesseract-core/tesseract-core/.venv/lib/python3.12/site-packages/pluggy/_callers.py", line 167, in _multicall
INTERNALERROR>     raise exception
INTERNALERROR>   File "/home/runner/work/tesseract-core/tesseract-core/.venv/lib/python3.12/site-packages/pluggy/_callers.py", line 139, in _multicall
INTERNALERROR>     teardown.throw(exception)
INTERNALERROR>   File "/home/runner/work/tesseract-core/tesseract-core/.venv/lib/python3.12/site-packages/_pytest/logging.py", line 801, in pytest_runtestloop
INTERNALERROR>     return (yield)  # Run all the tests.
INTERNALERROR>             ^^^^^
INTERNALERROR>   File "/home/runner/work/tesseract-core/tesseract-core/.venv/lib/python3.12/site-packages/pluggy/_callers.py", line 139, in _multicall
INTERNALERROR>     teardown.throw(exception)
INTERNALERROR>   File "/home/runner/work/tesseract-core/tesseract-core/.venv/lib/python3.12/site-packages/_pytest/terminal.py", line 688, in pytest_runtestloop
INTERNALERROR>     result = yield
INTERNALERROR>              ^^^^^
INTERNALERROR>   File "/home/runner/work/tesseract-core/tesseract-core/.venv/lib/python3.12/site-packages/pluggy/_callers.py", line 152, in _multicall
INTERNALERROR>     teardown.send(result)
INTERNALERROR>   File "/home/runner/work/tesseract-core/tesseract-core/.venv/lib/python3.12/site-packages/pytest_cov/plugin.py", line 346, in pytest_runtestloop
INTERNALERROR>     self.cov_controller.finish()
INTERNALERROR>   File "/home/runner/work/tesseract-core/tesseract-core/.venv/lib/python3.12/site-packages/pytest_cov/engine.py", line 57, in ensure_topdir_wrapper
INTERNALERROR>     return meth(self, *args, **kwargs)
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/home/runner/work/tesseract-core/tesseract-core/.venv/lib/python3.12/site-packages/pytest_cov/engine.py", line 320, in finish
INTERNALERROR>     self.cov.combine()
INTERNALERROR>   File "/home/runner/work/tesseract-core/tesseract-core/.venv/lib/python3.12/site-packages/coverage/control.py", line 864, in combine
INTERNALERROR>     combine_parallel_data(
INTERNALERROR>   File "/home/runner/work/tesseract-core/tesseract-core/.venv/lib/python3.12/site-packages/coverage/data.py", line 186, in combine_parallel_data
INTERNALERROR>     data.update(new_data, map_path=map_path)
INTERNALERROR>   File "/home/runner/work/tesseract-core/tesseract-core/.venv/lib/python3.12/site-packages/coverage/sqldata.py", line 666, in update
INTERNALERROR>     raise DataError("Can't combine branch coverage data with statement data")
INTERNALERROR> coverage.exceptions.DataError: Can't combine branch coverage data with statement data

================ 47 passed, 14 deselected in 423.94s (0:07:03) =================
Error: Process completed with exit code 3.

OS

Linux

Tesseract version

main

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions