From 07818cfda2559facd01b183528efb4b2696c4504 Mon Sep 17 00:00:00 2001 From: Jonathan Karlsen Date: Thu, 14 Dec 2023 09:23:02 +0100 Subject: [PATCH] Add fixture for running tests with scheduler and job queue --- pyproject.toml | 1 + tests/conftest.py | 14 ++++++++++++++ 2 files changed, 15 insertions(+) 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", ())