Skip to content

Commit

Permalink
CP rhel_ver_match(N-x) optional format
Browse files Browse the repository at this point in the history
  • Loading branch information
damoore044 committed Dec 5, 2024
1 parent 0fdb820 commit 22ad8aa
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 9 deletions.
29 changes: 21 additions & 8 deletions pytest_plugins/fixture_markers.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ def pytest_generate_tests(metafunc):
# process eventual rhel_version_list markers
matchers = [i.args for i in function_marks if i.name == 'rhel_ver_list']
list_params = []
# check if param matches format 'N-x'
for matcher in matchers:
list_params.extend(
[
Expand All @@ -35,14 +36,26 @@ def pytest_generate_tests(metafunc):
# process eventual rhel_version_match markers
matchers = [i.args for i in function_marks if i.name == 'rhel_ver_match']
match_params = []
for matcher in matchers:
match_params.extend(
[
setting_rhel_ver
for setting_rhel_ver in settings.supportability.content_hosts.rhel.versions
if re.fullmatch(str(matcher[0]), str(setting_rhel_ver))
]
)
if matchers and len(matchers[0][0]) == 3 and matchers[0][0].startswith('N-'):
# num of desired prior versions
num_versions = int(matchers[0][0].split('-')[1])
# grab major versions, excluding fips, from tail of supportability list
filtered_versions = [
setting_rhel_ver
for setting_rhel_ver in settings.supportability.content_hosts.rhel.versions
if 'fips' not in str(setting_rhel_ver)
][-(num_versions + 1) :] # inclusive (+1) to collect N as well
match_params.extend(filtered_versions)
# match versions with existing regex markers
else:
for matcher in matchers:
match_params.extend(
[
setting_rhel_ver
for setting_rhel_ver in settings.supportability.content_hosts.rhel.versions
if re.fullmatch(str(matcher[0]), str(setting_rhel_ver))
]
)
network_params = ['ipv6' if settings.server.is_ipv6 else 'ipv4']
rhel_params = []
ids = []
Expand Down
2 changes: 1 addition & 1 deletion pytest_plugins/markers.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ def pytest_configure(config):
"run_in_one_thread: Sequential tests",
"build_sanity: Fast, basic tests that confirm build is ready for full test suite",
"rhel_ver_list: Filter rhel_contenthost versions by list",
"rhel_ver_match: Filter rhel_contenthost versions by regexp",
"rhel_ver_match: Filter rhel_contenthost versions by regexp, or format 'N-x'",
"no_containers: Disable container hosts from being used in favor of VMs",
"include_capsule: For satellite-maintain tests to run on Satellite and Capsule both",
"capsule_only: For satellite-maintain tests to run only on Capsules",
Expand Down

0 comments on commit 22ad8aa

Please sign in to comment.