test: add --neuron option

This commit is contained in:
David Corvoysier 2025-02-18 12:30:34 +00:00 committed by Nicolas Patry
parent 2c37e8acbe
commit 4a16e8eec2
No known key found for this signature in database
GPG Key ID: 4242CEF24CB6DBF9

View File

@ -58,20 +58,37 @@ def pytest_addoption(parser):
parser.addoption( parser.addoption(
"--release", action="store_true", default=False, help="run release tests" "--release", action="store_true", default=False, help="run release tests"
) )
parser.addoption(
"--neuron", action="store_true", default=False, help="run neuron tests"
)
def pytest_configure(config): def pytest_configure(config):
config.addinivalue_line("markers", "release: mark test as a release-only test") config.addinivalue_line("markers", "release: mark test as a release-only test")
config.addinivalue_line("markers", "neuron: mark test as a neuron test")
def pytest_collection_modifyitems(config, items): def pytest_collection_modifyitems(config, items):
if config.getoption("--release"): selectors = []
# --release given in cli: do not skip release tests if not config.getoption("--release"):
return # --release not given in cli: skip release tests
skip_release = pytest.mark.skip(reason="need --release option to run") def skip_release(item):
for item in items:
if "release" in item.keywords: if "release" in item.keywords:
item.add_marker(skip_release) item.add_marker(pytest.mark.skip(reason="need --release option to run"))
selectors.append(skip_release)
if config.getoption("--neuron"):
def skip_not_neuron(item):
if "neuron" not in item.keywords:
item.add_marker(pytest.mark.skip(reason="incompatible with --neuron option"))
selectors.append(skip_not_neuron)
else:
def skip_neuron(item):
if "neuron" in item.keywords:
item.add_marker(pytest.mark.skip(reason="requires --neuron to run"))
selectors.append(skip_neuron)
for item in items:
for selector in selectors:
selector(item)
@pytest.fixture(autouse=True) @pytest.fixture(autouse=True)