Я использую testinfra (на основе pytest), чтобы протестировать мое развертывание подсистемы стеков, и мы недавно перешли на использование centos вместе с debian, поэтому мне пришлось изменить свои тестовые файлы для обработки различий между обоими дистрибутивами, вот как я это сделал(это пример, но у меня есть еще много подобных тестов):
@pytest.mark.parametrize("name", [
("cron"),
("ssh"),
])
def test_service_COMMON_debian(host, os_family, name):
if os_family == 'Debian':
service = host.service(name)
assert service.is_running
else:
pytest.skip()
@pytest.mark.parametrize("name", [
("crond"),
("sshd"),
])
def test_service_COMMON_redhat(host, os_family, name):
if os_family == 'RedHat':
service = host.service(name)
assert service.is_running
else:
pytest.skip()
Я уверен, что есть более чистый и классный способ справиться с этим, поэтому я весь в ушах!