Skip to content

Test does not pass: tests.unittests.client.test_runner.test_runner_inside_childprocess #1138

@notoraptor

Description

@notoraptor

Describe the bug
A unit test does not pass: tests.unittests.client.test_runner.test_runner_inside_childprocess

Expected behavior
Test should finish. Instead we have an infinite loop.

@pytest.mark.skipif(
    sys.version_info >= (3, 14),
    reason="Infinite execution time in Python 3.14+. "
    "NB: Python 3.14 changes multiprocessing start method from fork to spawn. "
    "Could it be related?",
)
def test_runner_inside_childprocess():
    """Runner can execute inside a child process"""
    pid = os.fork()

    # execute runner in the child process
    if pid == 0:
        run_runner()
        os._exit(0)
    else:
        # parent process wait for child process to end
        wpid, exit_status = os.wait()
        assert wpid == pid
        assert exit_status == 0

Steps to reproduce

tox -e py-all -- tests/unittests/client/test_runner.py::test_runner_inside_childprocess

Environment (please complete the following information):

  • OS: Ubuntu 20.04
  • Python version: 3.10+
  • Oríon version: develop
  • Database: MongoDB

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugIndicates an unexpected problem or unintended behavior

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions