From 6a7a154159583c09fcbba0578eaf576d577ccb11 Mon Sep 17 00:00:00 2001 From: Matus Honek Date: May 12 2020 09:06:50 +0000 Subject: Issue 51017 - Implement dynamic ds/bz pytest markers Bug Description: Our unique markers for tickets cause a lot pytest warnings PytestUnknownMarkWarning. Fix Description: On each run, go through all test files and the correctly prefixed markers for the runtime being. Fixes: https://pagure.io/389-ds-base/issue/51017 Author: Matus Honek Review by: Viktor & Simon (Thanks!) --- diff --git a/dirsrvtests/conftest.py b/dirsrvtests/conftest.py index 9bf6f32..1577bc9 100644 --- a/dirsrvtests/conftest.py +++ b/dirsrvtests/conftest.py @@ -8,9 +8,21 @@ import os from lib389.paths import Paths from enum import Enum + pkgs = ['389-ds-base', 'nss', 'nspr', 'openldap', 'cyrus-sasl'] p = Paths() + +def pytest_configure(config): + """Auto add custom markers we use to reference upstream/bugzilla tickets.""" + prefix = '@pytest.mark.' + cmd = ['grep', '-rh', f'^{prefix}\\(ds\\|bz\\)[0-9]\\+'] + p = subprocess.run(cmd, check=True, stdout=subprocess.PIPE) + markers = {x[len(prefix):] for x in p.stdout.decode().splitlines()} + for m in markers: + config.addinivalue_line('markers', m) + + class FIPSState(Enum): ENABLED = 'enabled' DISABLED = 'disabled' @@ -22,6 +34,7 @@ class FIPSState(Enum): def __str__(self): return self.value + def get_rpm_version(pkg): try: result = subprocess.check_output(['rpm', '-q', '--queryformat',