aboutsummaryrefslogtreecommitdiffstats
path: root/xtesting/utils
diff options
context:
space:
mode:
authorCédric Ollivier <cedric.ollivier@orange.com>2022-03-03 15:29:16 +0100
committerCédric Ollivier <cedric.ollivier@orange.com>2022-03-04 15:04:42 +0100
commit890e9579023fc624496d192fa54bca8f65091620 (patch)
tree2e08e6b4eca51de73c676ea01d7ac1c41576e5a2 /xtesting/utils
parentfc11ac167011af9a2230b06118ca256ef7e8ca88 (diff)
Search config files in tree
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 <cedric.ollivier@orange.com>
Diffstat (limited to 'xtesting/utils')
-rw-r--r--xtesting/utils/config.py23
-rw-r--r--xtesting/utils/constants.py28
2 files changed, 51 insertions, 0 deletions
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..dfd46e22 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', 'ci/{}'.format(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')