cardano_node_tests.pytest_plugins package

Submodules

cardano_node_tests.pytest_plugins.xdist_scheduler module

class cardano_node_tests.pytest_plugins.xdist_scheduler.OneLongScheduling(config: Config, log: Producer | None = None)[source]

Bases: LoadScopeScheduling

Scheduling plugin that tries to schedule no more than one long-running test per worker.

Scope:

A “xdist_group” marker value or full node id.

Workqueue:

Ordered dictionary that maps all available scopes with their associated tests (nodeid). Nodeids are in turn associated with their completion status. One entry of the workqueue is called a work unit. In turn, a collection of work unit is called a workload.

workqueue = {
    '<scope>': {
        '<full>/<path>/<to>/test_module.py::test_case1': False,
        '<full>/<path>/<to>/test_module.py::test_case2': False,
        (...)
    },
    (...)
}
Assigned_work:

Ordered dictionary that maps worker nodes with their assigned work units.

assigned_work = {
    '<scope>': {
        '<full>/<path>/<to>/test_module.py': {
            '<full>/<path>/<to>/test_module.py::test_case1': False,
            '<full>/<path>/<to>/test_module.py::test_case2': False,
            (...)
        },
        (...)
    },
    (...)
}
cardano_node_tests.pytest_plugins.xdist_scheduler.pytest_collection_modifyitems(items: list) None[source]
cardano_node_tests.pytest_plugins.xdist_scheduler.pytest_xdist_make_scheduler(config: Any, log: Any) OneLongScheduling[source]

Module contents