forked from TrueCloudLab/frostfs-testcases
[#257] Fix maintenance test and introduce custom ordering mark
Signed-off-by: a.berezin <a.berezin@yadro.com>
This commit is contained in:
parent
9756953b10
commit
c1759bfa08
5 changed files with 18 additions and 41 deletions
|
@ -57,14 +57,16 @@ start_time = pytest.StashKey[int]()
|
|||
test_outcome = pytest.StashKey[str]()
|
||||
# pytest hook. Do not rename
|
||||
def pytest_collection_modifyitems(items: list[pytest.Item]):
|
||||
# Make network tests last based on @pytest.mark.node_mgmt and logs_test to be latest
|
||||
def priority(item: pytest.Item) -> int:
|
||||
is_node_mgmt_test = 1 if item.get_closest_marker("node_mgmt") else 0
|
||||
is_logs_check_test = 100 if item.get_closest_marker("logs_after_session") else 0
|
||||
is_system_time_test = 10 if item.get_closest_marker("time") else 0
|
||||
return is_node_mgmt_test + is_logs_check_test + is_system_time_test
|
||||
# Change order of tests based on @pytest.mark.order(<int>) marker
|
||||
def order(item: pytest.Item) -> int:
|
||||
order_marker = item.get_closest_marker("order")
|
||||
if order_marker and (len(order_marker.args) != 1 or not isinstance(order_marker.args[0], int)):
|
||||
raise RuntimeError("Incorrect usage of pytest.mark.order")
|
||||
|
||||
items.sort(key=lambda item: priority(item))
|
||||
order_value = order_marker.args[0] if order_marker else 0
|
||||
return order_value
|
||||
|
||||
items.sort(key=lambda item: order(item))
|
||||
|
||||
|
||||
# pytest hook. Do not rename
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue