From 906c4c94590455c41603e5eca869b64c8d86d4f5 Mon Sep 17 00:00:00 2001 From: Tomas Krizek Date: Mon, 22 May 2017 18:27:44 +0200 Subject: [PATCH] ipatests: change logdir naming pattern for multihost tests Remove brackets from the paths in naming pattern of directories for multihost logs. Brackets in filenames require special handling in markdown URLs, bash paths etc. Related: https://pagure.io/freeipa/issue/6971 Signed-off-by: Tomas Krizek Reviewed-By: Martin Basti --- ipatests/pytest_plugins/integration/__init__.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ipatests/pytest_plugins/integration/__init__.py b/ipatests/pytest_plugins/integration/__init__.py index f1d8a0b91..d126b413a 100644 --- a/ipatests/pytest_plugins/integration/__init__.py +++ b/ipatests/pytest_plugins/integration/__init__.py @@ -24,6 +24,7 @@ from __future__ import print_function import os import tempfile import shutil +import re import pytest from pytest_multihost import make_multihost_fixture @@ -46,6 +47,14 @@ def pytest_addoption(parser): help="Directory to store integration test logs in.") +def _get_logname_from_node(node): + name = node.nodeid + name = re.sub('\(\)/', '', name) # remove ()/ + name = re.sub('[()]', '', name) # and standalone brackets + name = re.sub('(/|::)', '-', name) + return name + + def collect_test_logs(node, logs_dict, test_config): """Collect logs from a test @@ -56,7 +65,7 @@ def collect_test_logs(node, logs_dict, test_config): :param test_config: Pytest configuration """ collect_logs( - name=node.nodeid.replace('/', '-').replace('::', '-'), + name=_get_logname_from_node(node), logs_dict=logs_dict, logfile_dir=test_config.getoption('logfile_dir'), beakerlib_plugin=test_config.pluginmanager.getplugin('BeakerLibPlugin'),