From 76909625027772102e0a174c17bce5490f8a8fcf Mon Sep 17 00:00:00 2001 From: Cédric Ollivier Date: Thu, 3 Mar 2022 15:29:16 +0100 Subject: Search config files in tree MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It allows putting configurations in classical dirs. It fallbacks to the python package for backward compatibility. Change-Id: Ie33b9482fb197926c7d7d66ace815fa4ae01d02d Signed-off-by: Cédric Ollivier --- xtesting/utils/config.py | 23 +++++++++++++++++++++++ xtesting/utils/constants.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 xtesting/utils/config.py (limited to 'xtesting/utils') diff --git a/xtesting/utils/config.py b/xtesting/utils/config.py new file mode 100644 index 00000000..6f94fc8f --- /dev/null +++ b/xtesting/utils/config.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python + +# Copyright (c) 2022 Orange and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 + +# pylint: disable=missing-docstring + +import os + +from xtesting.utils import constants + + +def get_xtesting_config(filename, default): + """Search Xtesting configs (i.e. testcases.yaml)""" + for path in constants.XTESTING_PATHES: + abspath = os.path.abspath(os.path.expanduser(path)) + if os.path.isfile(os.path.join(abspath, filename)): + return os.path.join(abspath, filename) + return default diff --git a/xtesting/utils/constants.py b/xtesting/utils/constants.py index 18e03f68..f5e29e0d 100644 --- a/xtesting/utils/constants.py +++ b/xtesting/utils/constants.py @@ -1,5 +1,33 @@ #!/usr/bin/env python +# Copyright (c) 2019 Orange and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 + # pylint: disable=missing-docstring +import os +import sys + +import pkg_resources + ENV_FILE = '/var/lib/xtesting/conf/env_file' + +XTESTING_PATHES = [ + "~/.xtesting", "/etc/xtesting", os.path.join(sys.prefix + "/etc/xtesting")] + +TESTCASE_DESCRIPTION = 'testcases.yaml' +TESTCASE_DESCRIPTION_DEFAULT = pkg_resources.resource_filename( + 'xtesting', f'ci/{TESTCASE_DESCRIPTION}') + +RESULTS_DIR = '/var/lib/xtesting/results' +LOG_PATH = os.path.join(RESULTS_DIR, 'xtesting.log') +DEBUG_LOG_PATH = os.path.join(RESULTS_DIR, 'xtesting.debug.log') + +INI_PATH_DEFAULT = pkg_resources.resource_filename( + 'xtesting', 'ci/logging.ini') +DEBUG_INI_PATH_DEFAULT = pkg_resources.resource_filename( + 'xtesting', 'ci/logging.debug.ini') -- cgit