Skip to content

test_execute_with_celery flaky on windows #255

Description

@woutdenolf
____________________ test_execute_with_celery[/api/v2_0_0] ____________________

celery_exec_client = (<starlette.testclient.TestClient object at 0x000001EEA57BB4C0>, <ewoksserver.tests.socketio_test.SocketIOTestClient object at 0x000001EEA57BB760>)
api_root = '/api/v2_0_0'

    def test_execute_with_celery(celery_exec_client, api_root):
>       _test_execute(api_root, *celery_exec_client)

src\ewoksserver\tests\test_execute.py:10: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src\ewoksserver\tests\test_execute.py:178: in _test_execute
    events = get_events(api_root, sclient, n)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

api_root = '/api/v2_0_0'
sclient = <ewoksserver.tests.socketio_test.SocketIOTestClient object at 0x000001EEA57BB760>
nevents = 16, timeout = 30

    def get_events(api_root, sclient, nevents, timeout=30):
        t0 = time.time()
        events = list()
        while True:
            for event in sclient.get_events():
                if "/v1" in api_root and "engine" in event_utils.FIELD_TYPES:
                    event["binding"] = event.pop("engine")
                events.append(event)
            if len(events) == nevents:
                break
            time.sleep(0.1)
            if time.time() - t0 > timeout:
                received = "\n".join(_event_summary(event) for event in events)
>               raise TimeoutError(
                    f"Received {len(events)} instead of {nevents} events:\n{received}"
                )
E               TimeoutError: Received 9 instead of 16 events:
E               job start
E               workflow start
E               node start (task1)
E               node end (task1)
E               node start (task2)
E               node end (task2)
E               node start (task3)
E               node end (task3)
E               node start (task4)

src\ewoksserver\tests\test_execute.py:204: TimeoutError
______________________ test_execute_with_celery[/api/v1] ______________________

celery_exec_client = (<starlette.testclient.TestClient object at 0x000001EEA5B645B0>, <ewoksserver.tests.socketio_test.SocketIOTestClient object at 0x000001EEA5B656F0>)
api_root = '/api/v1'

    def test_execute_with_celery(celery_exec_client, api_root):
>       _test_execute(api_root, *celery_exec_client)

src\ewoksserver\tests\test_execute.py:10: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src\ewoksserver\tests\test_execute.py:178: in _test_execute
    events = get_events(api_root, sclient, n)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

api_root = '/api/v1'
sclient = <ewoksserver.tests.socketio_test.SocketIOTestClient object at 0x000001EEA5B656F0>
nevents = 16, timeout = 30

    def get_events(api_root, sclient, nevents, timeout=30):
        t0 = time.time()
        events = list()
        while True:
            for event in sclient.get_events():
                if "/v1" in api_root and "engine" in event_utils.FIELD_TYPES:
                    event["binding"] = event.pop("engine")
                events.append(event)
            if len(events) == nevents:
                break
            time.sleep(0.1)
            if time.time() - t0 > timeout:
                received = "\n".join(_event_summary(event) for event in events)
>               raise TimeoutError(
                    f"Received {len(events)} instead of {nevents} events:\n{received}"
                )
E               TimeoutError: Received 10 instead of 16 events:
E               job start
E               workflow start
E               node start (task1)
E               node end (task1)
E               node start (task2)
E               node end (task2)
E               node start (task3)
E               node end (task3)
E               node start (task4)
E               node end (task4)

src\ewoksserver\tests\test_execute.py:204: TimeoutError
=========================== short test summary info ===========================
SKIPPED [4] src\ewoksserver\tests\test_execute.py:26: requires API <= 1.1.0
SKIPPED [3] src\ewoksserver\tests\test_execute.py:99: requires API >= 2.0.0
SKIPPED [4] src\ewoksserver\tests\test_execute.py:227: requires API <= 1.1.0
SKIPPED [1] src\ewoksserver\tests\test_execute.py:227: requires API >= 1.1.0
SKIPPED [4] src\ewoksserver\tests\test_execute.py:235: requires API <= 1.1.0
SKIPPED [1] src\ewoksserver\tests\test_execute.py:235: requires API >= 1.1.0
SKIPPED [3] src\ewoksserver\tests\test_execute.py:242: requires API >= 2.0.0
SKIPPED [3] src\ewoksserver\tests\test_execute.py:250: requires API >= 2.0.0
SKIPPED [4] src\ewoksserver\tests\test_workflow_discover.py:9: requires API >= 2.1.0
SKIPPED [4] src\ewoksserver\tests\test_workflow_discover.py:25: requires API >= 2.1.0
SKIPPED [4] src\ewoksserver\tests\test_workflow_discover.py:38: requires API >= 2.1.0
SKIPPED [4] src\ewoksserver\tests\test_workflow_discover.py:50: requires API >= 2.1.0
SKIPPED [4] src\ewoksserver\tests\test_workflow_discover.py:60: requires API >= 2.1.0
SKIPPED [4] src\ewoksserver\tests\test_workflow_discover.py:67: requires API >= 2.1.0
SKIPPED [4] src\ewoksserver\tests\test_workflow_discover.py:108: requires API >= 2.1.0
SKIPPED [4] src\ewoksserver\tests\test_workflow_discover.py:154: requires API >= 2.1.0
SKIPPED [4] src\ewoksserver\tests\test_workflow_discover.py:182: requires API >= 2.1.0
SKIPPED [4] src\ewoksserver\tests\test_workflow_discover.py:200: requires API >= 2.1.0
SKIPPED [4] src\ewoksserver\tests\test_workflow_discover.py:229: requires API >= 2.1.0
SKIPPED [4] src\ewoksserver\tests\test_workflow_discover.py:258: requires API >= 2.1.0
FAILED src/ewoksserver/tests/test_execute.py::test_execute_with_celery[/api/v2_0_0] - TimeoutError: Received 9 instead of 16 events:
job start
workflow start
node start (task1)
node end (task1)
node start (task2)
node end (task2)
node start (task3)
node end (task3)
node start (task4)
FAILED src/ewoksserver/tests/test_execute.py::test_execute_with_celery[/api/v1] - TimeoutError: Received 10 instead of 16 events:
job start
workflow start
node start (task1)
node end (task1)
node start (task2)
node end (task2)
node start (task3)
node end (task3)
node start (task4)
node end (task4)
============ 2 failed, 274 passed, 71 skipped in 577.63s (0:09:37) ============

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions