test.py add support if non_gating tests

Add support for non_gating, the opposite of gating in dtest terminology, tests in test.py
codebase

This test will/should not be run by any current gating job (ci/next/nightly)

Closes scylladb/scylladb#28902
This commit is contained in:
Artsiom Mishuta
2026-03-05 12:10:04 +01:00
committed by Botond Dénes
parent 01498a00d5
commit 5d7a73cc5b
2 changed files with 8 additions and 1 deletions

View File

@@ -473,3 +473,7 @@ def modify_pytest_item(item: pytest.Item) -> None:
if (any(mark.name == "xfail" for mark in item.iter_markers("xfail"))
and not any(mark.name == "nightly" for mark in item.iter_markers("nightly"))):
item.add_marker(pytest.mark.nightly)
if (any(mark.name in ("perf", "manual", "unstable") for mark in item.iter_markers())
and not any(mark.name == "non_gating" for mark in item.iter_markers("non_gating"))):
item.add_marker(pytest.mark.non_gating)

View File

@@ -28,7 +28,10 @@ markers =
single_node: test that are mark like this, should be using only one node, and should boot much quicker (dtest only)
exclude_errors: do not consider a logging message as an error if it contains any of the specified strings (dtest only)
cluster_options: specify cluster options used to initialize a cluster (dtest only)
unstable: mark for unstable tests that may pass may fail, these tests will continue to run every night and generate up-to-date statistics with failures without failing the “Main” verification path(scylla-ci, Next)
perf: mark for performance tests, these tests will automatically apply non_gating marker
manual: to mark manual test cases, these tests will automatically apply non_gating marker
unstable: mark for unstable tests that may pass may fail, these tests will continue to run every night and generate up-to-date statistics with failures without failing the “Main” verification path(scylla-ci, Next), these tests will automatically apply non_gating marker
non_gating: tests that are not run in CI/Next/Nightly verification, but can be run manually or on special job when needed
nightly: for tests that are quite old, stable, and test functionality that rather not be changed or affected by other features, are partially covered in other tests, verify non-critical functionality, have not found any issues or regressions, too long to run on every PR, and can be popped out from the CI run, but will continue run in Next/Nightly verification
skip_mode: Can be used to mark a test to be skipped for a specific mode, e.g. dev. The reason to skip a test should be specified, used as a comment only. Additionally, platform_key can be specified to limit the scope of the attribute to the specified platform. Example platform_key-s: [aarch64, x86_64]