diff --git a/pyproject.toml b/pyproject.toml index f31896542d1..6c5a6b28cbe 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -147,6 +147,7 @@ markers = [ "quick_only", "requires_eclipse", "requires_window_manager", + "scheduler", "script", "slow", "unstable", diff --git a/tests/conftest.py b/tests/conftest.py index 1bf66f46781..52c7cd973d7 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -245,6 +245,20 @@ def excepthook(cls, exc, tb): monkeypatch.setattr(sys, "excepthook", excepthook) +@pytest.fixture(params=[False, True]) +def try_queue_and_scheduler(request, monkeypatch): + should_enable_scheduler = request.param + scheduler_mark = request.node.get_closest_marker("scheduler") + assert scheduler_mark + if scheduler_mark.kwargs.get("skip") and should_enable_scheduler: + pytest.skip("Skipping running test with scheduler enabled") + monkeypatch.setattr( + FeatureToggling._conf["scheduler"], "is_enabled", should_enable_scheduler + ) + yield + monkeypatch.undo() + + def pytest_collection_modifyitems(config, items): for item in items: fixtures = getattr(item, "fixturenames", ())