From c90fbffa459c506404d6fdbea835611c142bf4c4 Mon Sep 17 00:00:00 2001 From: Teoman ONAY Date: Mon, 15 Jan 2024 22:27:17 +0100 Subject: [PATCH] pytest-infra: fix failures pytest-infra 10.0.0 release changed the get_variables() behavior which led to CI failures (https://github.com/pytest-dev/pytest-testinfra/pull/724) Starting of now all groups the host is part of and not only the direct parent groups are returned by get_variables() Signed-off-by: Teoman ONAY (cherry picked from commit 37a82225f765eeca24dc76a804e292b5f711944d) --- tests/conftest.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 42e37ca1df..7d3f651141 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -117,6 +117,10 @@ def node(host, request): 'dev': 99 } + sanitized_group_names = group_names + if 'all' in sanitized_group_names: + sanitized_group_names.remove('all') + # capture the initial/default state test_is_applicable = False for marker in request.node.iter_markers(): @@ -133,7 +137,7 @@ def node(host, request): if request.node.get_closest_marker('rbdmirror_secondary') and not ceph_rbd_mirror_remote_user: # noqa E501 pytest.skip('Not a valid test for a non-secondary rbd-mirror node') - if request.node.get_closest_marker('ceph_crash') and group_names in [['nfss'], ['iscsigws'], ['clients'], ['monitoring']]: + if request.node.get_closest_marker('ceph_crash') and sanitized_group_names in [['nfss'], ['iscsigws'], ['clients'], ['monitoring']]: pytest.skip('Not a valid test for nfs, client or iscsigw nodes') if request.node.get_closest_marker("no_docker") and docker: @@ -148,7 +152,7 @@ def node(host, request): pytest.skip( "Not a valid test with dashboard disabled") - if request.node.get_closest_marker("dashboard") and group_names == ['clients']: + if request.node.get_closest_marker("dashboard") and sanitized_group_names == ['clients']: pytest.skip('Not a valid test for client node') data = dict(