diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/webcompat/interventions/conftest.py | |
parent | Initial commit. (diff) | |
download | firefox-43a97878ce14b72f0981164f87f2e35e14151312.tar.xz firefox-43a97878ce14b72f0981164f87f2e35e14151312.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/webcompat/interventions/conftest.py')
-rw-r--r-- | testing/webcompat/interventions/conftest.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/testing/webcompat/interventions/conftest.py b/testing/webcompat/interventions/conftest.py new file mode 100644 index 0000000000..ac987c5039 --- /dev/null +++ b/testing/webcompat/interventions/conftest.py @@ -0,0 +1,51 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + + +from ..fixtures import * # noqa: F403 + + +def pytest_generate_tests(metafunc): + """Generate tests based on markers.""" + + if "session" not in metafunc.fixturenames: + return + + marks = [mark.name for mark in metafunc.function.pytestmark] + + otherargs = {} + argvalues = [] + ids = [] + + if "skip_platforms" in marks: + for mark in metafunc.function.pytestmark: + if mark.name == "skip_platforms": + otherargs["skip_platforms"] = mark.args + + if "with_interventions" in marks: + argvalues.append([dict({"interventions": True}, **otherargs)]) + ids.append("with_interventions") + + if "without_interventions" in marks: + argvalues.append([dict({"interventions": False}, **otherargs)]) + ids.append("without_interventions") + + metafunc.parametrize(["session"], argvalues, ids=ids, indirect=True) + + +@pytest.fixture(scope="function") # noqa: F405 +async def test_config(request, driver): + params = request.node.callspec.params.get("session") + + use_interventions = params.get("interventions") + print(f"use_interventions {use_interventions}") + if use_interventions is None: + raise ValueError( + "Missing intervention marker in %s:%s" + % (request.fspath, request.function.__name__) + ) + + return { + "use_interventions": use_interventions, + } |